create trigger t_update_a on b
for update
as
update a set part = b.part
from inserted b
where a.partno = b.partno

解决方案 »

  1.   

    from inserted b
    这个b 指的是b表吗 ??
    create trigger t_update_a on b
    这句话的意思是不是
    在b表上建立一个 t_update_a的触发器呀 ??
      

  2.   

    from inserted b
    这个b 指的是b表吗 ??
    inserted表是用来保存用户操作插入的数据
    b是给inserted定的别名
    比如完全可以这样写create trigger t_update_a on b
    for update
    as
    update a set part = ccc.part
    from inserted ccc
    where a.partno = ccc.partno
    create trigger t_update_a on b
    这句话的意思是不是
    在b表上建立一个 t_update_a的触发器呀 ??正确!
      

  3.   

    CREATE TRIGGER zfxt_update_bom  ON [CQAdmin].[dcn] 
    FOR INSERT, UPDATE, DELETE 
    AS
    begin
    update bom 
    set q_state=ccc.q_state 
    from inserted ccc
    where bom.partnumber=ccc.partnumber 
    end
    我现在是这样写的
    应用的时候老是报
    对象名“zfxt_update_bom”无效
      

  4.   

    已经有了触发器了if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[zfxt_update_bom]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)
    drop trigger [dbo].[zfxt_update_bom]
    GO
    CREATE TRIGGER zfxt_update_bom  ON [CQAdmin].[dcn] 
    FOR INSERT, UPDATE, DELETE 
    AS
    begin
    update bom 
    set q_state=ccc.q_state 
    from inserted ccc
    where bom.partnumber=ccc.partnumber 
    end
      

  5.   

    现在的情况是这样的
    我必须更新数据库才能
    前端的数据库显示出来
    这是怎么回事呀
    是不是数据库在没有更新其之前修改后数据一直在
    inserted的表中
    没有写到真实的表中呀 ??