1:即然是主从表就一定要先有主表再有从表。
2:@new_id从哪里来的? 主从表用到的@new_id要统一

解决方案 »

  1.   

    你的代码错得太乱,看不懂你要做什么CREATE TRIGGER trgTest  ON 主表 
    FOR INSERT
    AS
    select @id=id from insertedupdate 从表 set id =@id
      

  2.   

    你的代码错得太多,概念不清晰,看不懂你的目的,一下代码大概能实现你的功能CREATE TRIGGER trgTest  ON 主表 
    FOR INSERT
    AS
    select @id=id from insertedupdate 从表 set id =@id
      

  3.   

    因为insert的时候id的值是不规则的。想通过这个触发器,生成一个新的id。
    再把@new_id update 回主表和从表。
    CREATE TRIGGER trgTest  ON 主表 FOR INSERT
    AS-- 取主表的键值
    select @id = id from inserted-- 生成一个新的id
    select @new_id = .......-- 将新的id update 到 主表
    update 主表 set id = @new_id  where id = @id-- 将新的id update 到 从表
    update 从表 set id = @new_id  where id = @id
      

  4.   

    -- 将新的id update 到 从表
    update 从表 set id = @new_id  where id = @id这里,在你的从表有这个@id的记录吗?
      

  5.   

    建议:企业管理器--右键表--设计表--任意字段处按右键--关系--新建--设置与其他表的关联(即那些表的字段与本表的字段有关系,要被自动更新)--设置好后,选中"对 INSERT 和 UPDATE 强制关系"--并同时选中"级联更新相关的字段",如果要级联删除,再选中"级联删除相关的记录"--最后确定就可以了
    你就不用写update 从表 set id = @new_id  where id = @id 这句了。