0
當我在生產系統中運行更新時,通常會將記錄保存到備份表中,以便在需要時很容易恢復。在更新語句中使用OUTPUT
我想使用OUTPUT子句完成此操作,有人可以幫助下面的語法嗎?
SELECT @@SERVERNAME
go
use Product
go
BEGIN TRANSACTION T1
--this is what I would like to achieve using the OUTPUT CLAUSE:
--SELECT *
--INTO tablebackups.dbo._MM_20140331_ItemDetail
--FROM ItemDetail
-- now the update code:
SELECT @@TRANCOUNT AS [Active Transactions]
,@@SERVERNAME as [Server Name]
,DB_NAME() as [Database Name]
declare @CurrentUser nvarchar(128),
@CurrentDate datetime
set @CurrentUser = suser_sname()
set @CurrentDate = getdate()
Update ItemDetail
Set IsActive = 0,
BuyingStatus = 'Deleted',
ModifiedBy = @CurrentUser,
ModifiedDate = @CurrentDate,
ModifiedCount = ModifiedCount + 1
output deleted.* into tablebackups.dbo._MM_20140331_ItemDetail -- <----- This is what I would like to do
FROM ItemDetail
Where ItemID in (
2319848,
2319868,
2319888,
2319908,
2319928,
2319938,
2319948,
2319958,
2319968,
2319988,
2320008,
2320028,
2320048,
2320068,
2320078,
2320088,
2320098,
2320108
)
--COMMIT
--ROLLBACK
感謝和問候 馬塞洛