OUTPUTএসকিউএল সার্ভার ২০০৫-এর ক্লজটি ঠিক এটির জন্যই দুর্দান্ত।
উদাহরণ
CREATE TABLE [dbo].[test_table](
[LockId] [int] IDENTITY(1,1) NOT NULL,
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL,
PRIMARY KEY CLUSTERED
(
[LockId] ASC
) ON [PRIMARY]
) ON [PRIMARY]
INSERT INTO test_table(StartTime, EndTime)
VALUES('2009 JUL 07','2009 JUL 07')
INSERT INTO test_table(StartTime, EndTime)
VALUES('2009 JUL 08','2009 JUL 08')
INSERT INTO test_table(StartTime, EndTime)
VALUES('2009 JUL 09','2009 JUL 09')
INSERT INTO test_table(StartTime, EndTime)
VALUES('2009 JUL 10','2009 JUL 10')
INSERT INTO test_table(StartTime, EndTime)
VALUES('2009 JUL 11','2009 JUL 11')
INSERT INTO test_table(StartTime, EndTime)
VALUES('2009 JUL 12','2009 JUL 12')
INSERT INTO test_table(StartTime, EndTime)
VALUES('2009 JUL 13','2009 JUL 13')
UPDATE test_table
SET StartTime = '2011 JUL 01'
OUTPUT INSERTED.*
WHERE
StartTime > '2009 JUL 09'
নিম্নলিখিতগুলির ফলাফলগুলি ফেরত দেওয়া হচ্ছে
LockId StartTime EndTime
4 2011-07-01 00:00:00.000 2009-07-10 00:00:00.000
5 2011-07-01 00:00:00.000 2009-07-11 00:00:00.000
6 2011-07-01 00:00:00.000 2009-07-12 00:00:00.000
7 2011-07-01 00:00:00.000 2009-07-13 00:00:00.000
আপনার নির্দিষ্ট ক্ষেত্রে, যেহেতু আপনি সমষ্টিগত ফাংশনগুলি ব্যবহার করতে পারবেন না, তাই আপনাকে একটি টেবিল পরিবর্তনশীল বা অস্থায়ী সারণিতে OUTPUTআউটপুট ক্যাপচার করতে হবে INSERTED.*এবং রেকর্ডগুলি গণনা করতে হবে। উদাহরণ স্বরূপ,
DECLARE @temp TABLE (
[LockId] [int],
[StartTime] [datetime] NULL,
[EndTime] [datetime] NULL
)
UPDATE test_table
SET StartTime = '2011 JUL 01'
OUTPUT INSERTED.* INTO @temp
WHERE
StartTime > '2009 JUL 09'
SELECT COUNT(*) FROM @temp