insert dbo.a(ID,PerChar,type) values (@ID,@PerChar,1)是不是insert dbo.a时有什么约束呢。

解决方案 »

  1.   

    我写错了,应为
    insert dbo.b(ID,PerChar,type) values (@ID,@PerChar,1)  
      

  2.   

    是你贴出来时贴错了吗?
    insert dbo.a(ID,PerChar,type) values (@ID,@PerChar,1)表a没有 PerChar,type等字段 
    表1:a         ID int 4主键
    name varchar 300
    money varchar 50
    code varchar 50
    code1 varchar 50
    realcode varchar 50默认值0
    表2:b
       ID int 4非主键
    PerChar varchar 50
    type varchar 50
      

  3.   

    是的不好意思?是贴是贴错了应为下面的:
    CREATE TRIGGER [tri_update] ON dbo.a
    FOR update
    AS
    declare              @realcode  varchar(50),
                         @ID            int,
                         @code      varchar(50),
                         @code1     varchar(50),
                         @length    varchar(50),
                @PerChar   varchar(50)
    select      @realcode=realcode, @code=code, @code1=@code1  from  inserted
                begin
                    select code from dbo.a where realcode=@code or realcode=@code1
                    set @Length = len(@code)
       set @ID = 1
                    while (@ID <= @Length)
                    begin
      set @PerChar = substring(@code,@ID,1)
      insert dbo.b(ID,PerChar,type) values (@ID,@PerChar,1)
                                set @ID =@ID+1
                     end
                         
                end