আমার এক সেক্যালে (২০০৮) সঞ্চিত প্রক্সে আমার নীচের কোড রয়েছে যা পুরোপুরি সূক্ষ্মভাবে কার্যকর করে:
CREATE PROCEDURE [dbo].[Item_AddItem]
@CustomerId uniqueidentifier,
@Description nvarchar(100),
@Type int,
@Username nvarchar(100),
AS
BEGIN
DECLARE @TopRelatedItemId uniqueidentifier;
SET @TopRelatedItemId =
(
SELECT top(1) RelatedItemId
FROM RelatedItems
WHERE CustomerId = @CustomerId
)
DECLARE @TempItem TABLE
(
ItemId uniqueidentifier,
CustomerId uniqueidentifier,
Description nvarchar(100),
Type int,
Username nvarchar(100),
TimeStamp datetime
);
INSERT INTO Item
OUTPUT INSERTED.* INTO @TempItem
SELECT NEWID(), @CustomerId, @Description, @Type, @Username, GETDATE()
SELECT
ItemId,
CustomerId,
@TopRelatedItemId,
Description,
Type,
Username,
TimeStamp
FROM
@TempItem
END
GO
সুতরাং আপনার বলছিদের জন্য প্রশ্নটি হ'ল লাইন ধরে কিছু করার সম্ভাবনা রয়েছে:
DECLARE @TempCustomer TABLE
(
CustomerId uniqueidentifier,
FirstName nvarchar(100),
LastName nvarchar(100),
Email nvarchar(100)
);
SELECT
CustomerId,
FirstName,
LastName,
Email
INTO
@TempCustomer
FROM
Customer
WHERE
CustomerId = @CustomerId
যাতে আমি নিম্নলিখিত অন্যান্য বিবৃতিগুলিতে মেমরি থেকে এই ডেটাটি পুনরায় ব্যবহার করতে পারি? এসকিউএল সার্ভার উপরের স্টেটমেন্টের সাথে একটি ফিট নিক্ষেপ করে, তবে আমি আলাদা আলাদা ভেরিয়েবল তৈরি করতে এবং তাদের প্রত্যেককে একই টেবিলের বিপরীতে পৃথক নির্বাচনী স্টেটমেন্টের মাধ্যমে আরম্ভ করতে চাই না .... UGH !!!
একই টেবিলের বিপরীতে একাধিক প্রশ্ন ছাড়া লাইন ধরে কীভাবে কিছু অর্জন করবেন সে সম্পর্কে কোনও পরামর্শ?
declare @t table
একবার, এবং আপনার যদি এটি পুনঃব্যবহারের প্রয়োজন হয় তবেDELETE @TempCustomer
এটিতে আবার