您的位置:首页 > 数据库

SQL 表的Insert ,update ,delete 触发器

2010-08-05 15:28 357 查看
 建一个跟源表一样的表,记录源表所有操作信息。

ALTER trigger [dbo].[test_Trg]  on  [dbo].[test]
       for insert,update,delete
AS
 

If not exists(Select 1 from deleted)
     INSERT INTO test_Trg SELECT *, 'INSERT', getdate(), substring(SUSER_NAME(),1,50)   FROM inserted;

If exists(select 1 from inserted) and exists(select 1 from deleted)
     INSERT INTO test_Trg SELECT *, 'UPDATE', getdate(),substring(SUSER_NAME(),1,50)  FROM inserted;
    
If not exists(select 1 from inserted)
     INSERT INTO test_Trg SELECT *, 'DELETE', getdate(), substring(SUSER_NAME(),1,50)  FROM deleted;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  insert delete sql
相关文章推荐