我可能不完全明白你在做什麼,但在SQL Server中,你可以捕捉與該output clause刪除的行。也許這是你可以使用的東西。
-- Table to delete from
declare @T table (id int, name varchar(50))
-- Table to capture the deleted rows
declare @DeletedRows table (id int, name varchar(50))
-- Dummy data
insert into @T values
(1, 'Name1'),
(2, 'Name2'),
(3, 'Name3'),
(4, 'Name4'),
(5, 'Name5')
-- Delete every other row
delete from @T
output deleted.id, deleted.name into @DeletedRows
where id % 2 = 0
select *
from @DeletedRows
結果 - 刪除的行
id name
----------- --------------------------------------------------
2 Name2
4 Name4
任何你不能做「軟刪除」的地方,你刪除它時用'1'標記'DELETED'位列? – JNK 2011-04-05 14:07:00
哦,我希望!這些源數據庫系統實際上是由第三方供應商開發的。我們總是從這些供應商處獲得更新,他們可能會在更新中清除整個模式。 – 2011-04-05 14:12:47