這將從Document
表中刪除文檔,並將有關已刪除文檔的信息輸出到FinishedDocument
表中。使用一個OUTPUT子句從兩個表中刪除?
DELETE
FROM Document
OUTPUT Deleted.DocumentId
, Deleted.DocumentDescription
INTO FinishedDocument
WHERE DocumentId = @DocumentId
我需要不只是從Document
表,但也從DocumentBackup
表中刪除該文件。同時,我需要保持插入FinishedDocument
。
這一切只有一個語句可能嗎?如果沒有,是第二個DELETE
(針對DocumentBackup
),它的所有包裹在一個交易中,要走的路?
某人在事務中可能會如何將這看作優於兩次刪除(首先針對'BackupDocument',然後針對'Document',OUTPUT子句爲'FinishedDocument')? – lance 2010-05-20 15:40:14
@lance,我不確定你在問什麼?無論如何,你必須有2個DELETE,INSERT來自OUTPUT子句。如果先刪除一個表格,那麼這將是基於應用程序活動的首選項。我會先刪除最不活躍的表,如果有鎖,它們的影響就會減小。 – 2010-05-20 19:28:02