修改一下表结构设计。1,工程表
ID
名称,
.......
验收状况   当合格时标:合格 并给 验收合格ID 字段赋值。
验收合格ID2,验收清单表
ID,
......

解决方案 »

  1.   

    CREATE TRIGGER 名 ON 表
    FOR INSERT
    AS
    if exists(select 1 from 表 a where 验收状况='合格' and exists(select 1 from inserted where 工程名称=a.工程名称))
      rollback tran
      

  2.   

    CREATE TRIGGER 名 ON 表
    FOR INSERT,update
    AS
    if exists(select 1 from 表 a where 验收状况='合格' and exists(select 1 from inserted where 工程名称=a.工程名称))
      rollback tran
      

  3.   

    那如果我的主表有一个字段是“验收种类”。1、当相对应的detail表增加一个记录,就把主表对应的“验收种类”字段内容改为“分段验收”。
    2、当detail表的“验收状况”字段标为“合格”的时候,主表对应的“验收种类”内容改为“总体验收”。请问这个触发器怎么做,解决了立即给分,我赶着项目要做。
      

  4.   

    CREATE TRIGGER 名 ON detail
    FOR INSERT,update
    ASupdate 主表
    set 验收种类='分段验收'
    where id=(select id from inserted)declare @验收状况 char(20)
    select @验收状况=验收状况 from insertedif(@验收状况='合格')
    begin
    update 主表
    set 验收种类='总体验收'
    where id=(select id from inserted)
    end
      

  5.   

    1、
    CREATE TRIGGER 名 ON detail表
    FOR INSERT
    AS
      update 主表 set 验收种类='分段验收' where exists (select 1 from inserted where 编号=主表.编号)
    2、
    CREATE TRIGGER 名 ON detail表
    FOR update
    AS
      update 主表 set 验收种类='总体验收' where exists (select 1 from inserted where 编号=主表.编号 and 验收状况='合格')
      

  6.   

    To pengdali(大力)
    select 1 from inserted where 编号=主表.编号 and 验收状况='合格'
    是什麼意思