我要的是整体解决方案:)webcat()兄的回答似乎太简单了:)

解决方案 »

  1.   

    1.表的名称是固定么?
    2.表的个数是固定的么?
    3.A表是UPDATE TRIGGER么??
      

  2.   

    整体解决方案:
    1、(方案1)A表加触发器,触发器里根据修改记录的特征,查找B表,找出相应的表名,形成动态SQL语句,执行。2、(方案2)A表不加触发器,而是增加一个存储过程,这个存储过程同时完成修改A表记录,查找B表,找出相应的表名,形成动态SQL语句,执行动态SQL语句等动作。现在你可以说名表结构和你需要做的动作的逻辑关系了,否则只能说到这里。
      

  3.   

    完全可以简单的说,方法就是取出表名,拼成你sql字符串,然后使用Execute( @sql字符串)就搞定了。
      

  4.   

    假设有表a,b,t1,t2
    a、t1、t2结构相同(这是为了编写例子方便,实际可根据业务需求改变)
    b表中存储要更新的表名和字段名.
    具体代码如下,测试通过
    CREATE TRIGGER [tr_a] ON [dbo].[a] 
    FOR INSERT, UPDATE
    ASdeclare @tablename varchar(20)
    declare @sql nvarchar(255)
    declare cur cursor for
    select distinct b1 as tablename from b
    open cur
    fetch next from cur into @tablename
    while @@fetch_status=0
    begin 
    select @sql='insert into '+@tablename+' select * from a'
    print @sql
    exec sp_executesql @sql
    fetch next from cur into @tablename
    end
    close cur
    deallocate cur