1 頁 (共 1 頁)

[轉貼]SQL Trigger記錄多個欄位值異動的寫法

發表於 : 2008年 11月 28日, 17:01
tim
相當不錯的解法, 請參考:
http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=31237

原作者: shpeng

代碼: 選擇全部

    DECLARE @TableName VArchar(20) 
    DECLARE @TSQL NVarChar(4000) 
    SET @TableName = 'Employees'  --異動的 tablename 
    SELECT  @TSQL = IsNULL(@TSQL,N'')+'IF UPDATE('+name+') INSERT log_table('''+name+''',old_value,new_value) valueS ('''+name+''',deleted.'+name+',Inserted.'+name+')'+char(13) FROM  syscolumns where id = (select Id from sysobjects where name = @TableName) 
    PRINT @TSQL 
    --exec sp_executesql @TSQL