假设有这样2个表,
表一:YGZW_YYCL
表一字段:id,carID,carColor表二:YGZW_YYCL_ZL
表一字段:id,carID,carColor,incTime,incType表二比表一多了incTime,incType这2个字段而已,
我现在要写一个触发器:当表一发生增删改的时候,分别实现以下的情况:增:表一增加了一条记录,把这条增加的记录同时新增一条到表二,但是表二的incTime为写进表二的那一刻的时间,incType为0该:表一修改了某一条记录,同时把修改以后的记录新增一条到表二,表二的incTime为写进表二的那一刻的时间,incType为1删:表一删除了一条记录,则把被删除的记录同时写进表二,表二的incTime为写进表二的那一刻的时间,incType为2
用一个触发器来实现,怎么写?谁帮我写下,马上要用,分不多了,麻烦高手了!

解决方案 »

  1.   

    本帖最后由 josy 于 2012-05-17 10:05:01 编辑
      

  2.   

    create trigger tr_name on YGZW_YYCL
    for insert,update,delete
    as
    if update(id) or update(carID) or update(carColor)
       insert into YGZW_YYCL_ZL
              select *,getdate(),1 from inserted
    else
    begin
      if exists(select 1 from inserted)
         insert into YGZW_YYCL_ZL
              select *,getdate(),0 from inserted 
      else
         insert into YGZW_YYCL_ZL
              select *,getdate(),2 from deleted
    end