表A:
po_id  pc_no   po_no prd_no  amt
表B:
 
po_no prd_no  fin_dd我想写个触发器就是每当表A中增加数据时,通过a.po_no,a.prd_no去修改表B中与其对应的fin_dd 值,值取当前时间
该怎么写呢

解决方案 »

  1.   

    --fin_dd 是日期型?
    create trigger tri_name on ta
    for insert 
    as 
    update tb set fin_dd=getdate()
    from inserted 
    where tb.po_no=inserted.po_no and tb.prd_no=inserted.prd_no
      

  2.   

    create trigger tri_name on ta
    for insert 
    as 
    update a set 
        a.fin_dd=getdate()
    from tb a 
        join inserted b
            on a.po_no=b.po_no and a.prd_no=b.prd_no
    go
      

  3.   

    CREATE trigger t1
    on tf_pss
    for insert 
    as
    begin
      declare @os_no varchar(50)
      declare @prd_no varchar(50)
      declare @po_id varchar(50)
      select @os_no=os_no,@prd_no=prd_no,@po_id=ps_id from inserted
    if @po_id='PC'
     begin
      update  tf_pos set fin_dd=getdate()  where os_no=@os_no and prd_no=@prd_no
     endend
      

  4.   

    我是这么写的,可有的时候就报错,比如表A中有多个po_no,就报错
    ,触发器里面怎么写异常处置呢