당신은 이러한 솔루션 중 하나를 시도 할 수 :
SET NOCOUNT ON;
GO
CREATE TABLE dbo.MyTable(
EntryDate DATE NOT NULL,
Emptied BIT NOT NULL
);
GO
INSERT INTO dbo.MyTable (EntryDate,Emptied)
VALUES
('2013-01-01',0),
('2013-01-02',0),
('2013-01-03',1);
-- Solution #1 (SQL2005+)
DECLARE @Output1 TABLE(
EntryDate DATE NOT NULL,
Emptied BIT NOT NULL
);
INSERT INTO dbo.MyTable (EntryDate,Emptied)
OUTPUT inserted.* INTO @Output1(EntryDate,Emptied)
SELECT '2013-01-04',0
UNION ALL
SELECT '2013-01-05',0;
PRINT 'Solution #1: @Output1 content'
SELECT * FROM @Output1;
-- Solution #2 (SQL2008+)
DECLARE @Output2 TABLE(
EntryDate DATE NOT NULL,
Emptied BIT NOT NULL
);
INSERT INTO @Output2(EntryDate,Emptied)
SELECT *
FROM
(
INSERT INTO dbo.MyTable (EntryDate,Emptied)
OUTPUT inserted.*
VALUES
('2013-01-06',1),
('2013-01-07',0),
('2013-01-08',0),
('2013-01-09',1)
)x
PRINT 'Solution #2: @Output2 content'
SELECT * FROM @Output2;
결과 :
/*
Solution #1: @Output1 content
EntryDate Emptied
---------- -------
2013-01-04 0
2013-01-05 0
Solution #2: @Output2 content
EntryDate Emptied
---------- -------
2013-01-06 1
2013-01-07 0
2013-01-08 0
2013-01-09 1
*/
두 경우가 동일하지 않습니다. 첫 번째에는 삽입이 없습니다. – Amy