我要的是整体解决方案:)webcat()兄的回答似乎太简单了:)
解决方案 »
- sqlserver2000支持下面的写法嘛
- 数据库系统导论那本书拼命讲SQL的缺点,看得我快人格分裂了
- 存储过程中用户定义表类型中使用游标
- 修正存储过程
- 我怎么用sql中的xp_sendmail不能发email啊?
- SQL Server 不存在或拒绝访问 错误号2147467259
- sql数据库设计一个迷茫的问题?
- sql server存储过程问题 各位大哥们帮帮忙
- 有没有碰到过像这样的问题:“有几个表,这些表是关联的,表之间也有on delete cascade的约束,(现在要删除两条记录Record A 和 Record
- 如何按月进行模糊查询??
- SQL2000的导出问题
- 我想把两个字段的数据合并为一个字段,请问如何实现
2.表的个数是固定的么?
3.A表是UPDATE TRIGGER么??
1、(方案1)A表加触发器,触发器里根据修改记录的特征,查找B表,找出相应的表名,形成动态SQL语句,执行。2、(方案2)A表不加触发器,而是增加一个存储过程,这个存储过程同时完成修改A表记录,查找B表,找出相应的表名,形成动态SQL语句,执行动态SQL语句等动作。现在你可以说名表结构和你需要做的动作的逻辑关系了,否则只能说到这里。
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