Ben mükemmel para cezası yürüten benim Sql (2008) Saklı Procs birinde aşağıdaki kodu var:
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
Yani sizler için soru şu ki, şu konularda bir şeyler yapma olasılığı var:
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
Bu verileri aşağıdaki ifadelerde bellekten tekrar kullanabilmem için ne yapmalıyım? SQL Server, yukarıdaki ifade ile bir uyum atar, ancak ayrı değişkenler oluşturmak ve aynı tabloya karşı ayrı bir SELECT deyimi ile her birini başlatmak zorunda değilsiniz .... UGH !!!
Aynı tabloya karşı birden fazla sorgu olmadan satır boyunca bir şey elde etmek için herhangi bir öneriniz var mı?
declare @t table
bir kez ve tekrar kullanmanız gerekiyorsa,DELETE @TempCustomer
tekrar takmadan önce a