CREATE TRIGGER 名 ON staff
FOR insert,update,delete
ASinsert [log] (数据1,数据2,操作) select 数据1,数据2,'插入' from inserted
insert [log] (数据1,数据2,操作) select 数据1,数据2,'删除' from deleted

解决方案 »

  1.   

    CREATE TRIGGER 名 ON staff
    FOR insert,update,delete
    AS
    if 
    if not exists (select 1 from inserted) --删除
      insert [log] (数据1,数据2,操作) select 数据1,数据2,'删除' from deleted
    else if not exists (select 1 from deleted) --插入
      insert [log] (数据1,数据2,操作) select 数据1,数据2,'插入' from inserted
    else  --修改
    begin
      insert [log] (数据1,数据2,操作) select 数据1,数据2,'修改前' from deleted
      insert [log] (数据1,数据2,操作) select 数据1,数据2,'修改后' from inserted
    end
      

  2.   

    CREATE TRIGGER tr_A_upd ON A
    FOR update,delete
    AS
        insert into B select * from deleted--------------------------------------- CREATE TRIGGER tr_A_upd ON A
    FOR insert
    AS
        insert into B select * from inserted
      

  3.   

    请问
    if not exists (select 1 from inserted) --删除
    中 "l" 是代表什么?再次谢谢大家!
      

  4.   

    和 *一样,速度比*快,你可以顺便写个东西。如3 'sdf'
      

  5.   

    if not exists (select 1 from inserted) --删除
    中 "l" 是代表什么?我的理解:这个语句只是用来判断是否进行了删除操作,如果进行了插入操作,就能返回1值,否则说明没有插入。
    ”1“只是随便返回一个值,重点应该不再1上。
      

  6.   

    应该是返回true或者false  
    刚查了帮助
    大概理解了