SQL语句实现两个表同时更新

我有一个A表是类别表
A表
1 书籍
2 软件
B表
1 知识是力量 书籍
1 大家说法 书籍
2 超市管理系统 软件
3 文件管理系统 软件

我现在想把A表类别表的书籍 变成 音乐
那么如何实现B表里面相对应的书籍字段也更新成音乐?

谢谢
我的数据库是 SQLSERVER2000
如何用触发器或存储过程实现呢?

可用触发器实现:
create trigger UpdateB
on A
for update
as
update B set [B表的类别字段名]=a.[A表的类别字段名] from inserted a,deleted b where [B表的类别字段名]=b.[A表的类别字段名]
GO
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-30
你把 A 表的字段设成主键,把 B 表相应的字段设置成外键,即可建立相关性。
但是更新数据时,必须先删掉 B 表的数据,接着更新 A 表,再 Insert B 表。

若你不想删除,你可以先 Disable 主外键,等更新完,再 Enable 之。
第2个回答  2009-04-30
何必那么喜欢科研呢,写两个语句更新两次就不行了吗

许多数据库都提供一些扩展语法完成你的功能,但是那些不是标准ANSI SQL的内容,建议别去学那些邪门歪道,对自己没什么好处的~
第3个回答  2009-05-01
同一楼,写两句多好。要不你就建触发器,当表A更新的时候,同时也更新表B。或者用存储过程也是一样的。
第4个回答  2009-05-01
编写更新触发器,可以在百度上搜素或参考联机帮助,^_^
相似回答