在create trigger trigger_name for insert,update,delete中
可以利用
if(select count(*) from inserted >0 and select count(*) from deleted >0)
来判断update
if(select count(*) from inserted >0 and select count(*) from deleted =0)
来判断insert
else为删除。除了这种方法有没有更简单些的方法呢?

解决方案 »

  1.   

    create trigger trigger_name_i for insert
    create trigger trigger_name_u for update
    create trigger trigger_name_d for delete
      

  2.   

    1楼的,我就是要把三个分别写针对insert delete update的触发器合并成一个才问这个问题的。555
      

  3.   

    客户嫌触发器太多不购整洁
    -------------------------
    我真%(*&
      

  4.   

    mengmou()mengmou() 我也没办法。55
    在oracle里面有
    CASE
     WHEN INSERTING THEN
     WHEN UPDATING THEN
     WHEN DELETING THEN
    的语句 sqlServer里面有类似的么?没有我就只能用笨方法了。
      

  5.   

    if exists(select 1 from inserted) and exists(select 1 from deleted)
    if exists(select 1 from inserted) and not exists(select 1 from deleted)
    if not exists(select 1 from inserted) and exists(select 1 from deleted)
    -----------
    我猜你的客户可能会比较喜欢这个,整洁。