मेरे Sql (2008) संग्रहित प्रोक्स में से एक में निम्नलिखित कोड है जो पूरी तरह से ठीक है:
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
ताकि मैं अन्य निम्नलिखित कथनों में स्मृति से इस डेटा का पुन: उपयोग कर सकूं? SQL सर्वर उपरोक्त कथन के साथ एक फिट फेंकता है, हालाँकि मैं अलग-अलग वेरिएबल्स बनाना नहीं चाहता और उनमें से प्रत्येक को एक ही टेबल के विरुद्ध अलग-अलग SELECT स्टेटमेंट के माध्यम से इनिशियलाइज़ करना चाहता हूँ .... UGH !!!
एक ही तालिका के खिलाफ कई प्रश्नों के बिना लाइनों के साथ कुछ हासिल करने के बारे में कोई सुझाव?
declare @t table
एक बार, और अगर आपकोDELETE @TempCustomer
इसे फिर से उपयोग करने की आवश्यकता है, तो इसे फिर से डालने से पहले आग