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

有關資料庫的討論, 都可以在這發表哦~~
回覆文章
頭像
tim
文章: 1380
註冊時間: 2008年 11月 26日, 00:49

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

文章 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 
多多留言, 整理文章, 把經驗累積下來.....
回覆文章