主表触发器:
CREATE TRIGGER [T_laji] ON dbo.a 
FOR UPDATE
AS
IF UPDATE (code)
begin
declare @code  int
select @code=code from inserted
update P set code=@code  from aa as P   INNER JOIN deleted as D on P.code=D.code
end
--以上更新从表再用SQL代码更新主表的CODE
declare @n int
set @n=1
update a set code=case
 when len(@n)=1 then '2001000'+convert(varchar(10),@n-1)
 when len(@n)=2 then '200100'+convert(varchar(10),@n-1)
 when len(@n)=3 then '20010'+convert(varchar(10),@n-1)
 when len(@n)=4 then '2001'+convert(varchar(10),@n-1)
end,@n=@n+1
牛人请帮忙看看该如何处理。

解决方案 »

  1.   

    我希望要下面的结果:
    主表:
      CODE    NAME
    20030001  张三
    20030002  王五
    20030003  李四
    从表:
      CODE    QQ_NO
    20030001  123456
    20030001  234567
    20030002  345678
    20030002  456789
    20030003  147258
    20030003  258369
    20030003  159753
    高手快帮想想办法啊
      

  2.   

    ALTER TABLE 从表 ADD 
    CONSTRAINT FK_CODE FOREIGN KEY 
    (
    CODE
    ) REFERENCES 主表 (
    CODE
    ) ON DELETE CASCADE  ON UPDATE CASCADE 这样就可以实现你需要的功能,不需要使用触发器的