表b
aa      bb       cc
1        3       6
也就是表a中列a的值

解决方案 »

  1.   

    目前的问题是,你的B表中有那么多字段吗??假如我现在往A中插入7  11B中插入7,但是dd这个字段是不是存在呢??
      

  2.   

    是啊不过是用程序实现的,不是用 sql语句实现的,呵呵
      

  3.   

    --建立测试环境
    Create table A
    (a Int,
     b Int)Create table B
    (aa Int,
     bb Int,
     cc Int,
     dd Int)
    --插入数据
    Insert A Values(1,2)
    Insert A Values(3,4)
    Insert A Values(6,7)Insert B Values(1,3,6,Null)
    GO
    --建立触发器
    Create Trigger [Update_B] On A
    FOR INSERT
    AS
    Begin
    Declare @a Int
    Declare @Count Int
    Declare @ColName Varchar(50)
    Declare @S Varchar(50) Select @Count=IsNull(Count(*),0) from A
    Select @ColName=Name from SysColumns Where ID=OBJECT_ID('B') And ColID=@Count
    Select @a=a from Inserted
    Set @S='Update B Set '+@ColName+'='+Rtrim(@a)
    EXEC(@S)
    End
    GO
    --测试
    Insert A Values(7,15)
    Select * from B
    --删除测试环境
    Drop Table A,B
    --结果
    /*
    aa bb cc dd
    1 3 6 7
    */
      

  4.   

    这个触发器,是你的dd已经存在的情况下的,并且A表一次只是插入一条数据。如果插入多条,就要改了。
      

  5.   

    to  paoluo(一天到晚游泳的鱼) 
    如果想实现元组级触发器的话,是不是一定要用局部游标?
    谢谢