日期:2014-05-18  浏览次数:20487 次

一条SQL语句可不可以实现两个表的插入和更新
如题:
两个表有关联字段   如:A_NAME=B_NAME

------解决方案--------------------
用存储过程或者触发器应该可以的
------解决方案--------------------
建立表级主从关系,联连修改,级联更新
方可实现
------解决方案--------------------
参考~!!!

建个视图,直接对视图进行操作写更新语句
CREATE VIEW dbo.viewTopic
AS
SELECT t.Id, t.NodeId, t.FilePath, t.Topic, t.UploadFiles, a.Content
FROM dbo.cmsTopic t LEFT OUTER JOIN
dbo.cmsArticle a ON a.TopicId = t.Id
------解决方案--------------------
可以
1.视图更新
2.存储过程或者函数
3.数据库设计使用级联更新
4.用;分隔多个sql命令
------解决方案--------------------
用触发器
------解决方案--------------------
用两条语句,启用事务!

存储过程和触发器其实都是用两条SQL语句来实现!

------解决方案--------------------
触发器可以解决,还有一个可以通过视图来解决
------解决方案--------------------
有三个解决的办法:
1、触发器,主从表之间建立级联关系;
2、存储过程中实现;
3、在程序中用事务来实现;
------解决方案--------------------
用触发器

------解决方案--------------------
我觉得四种简单的方法就应该可以执行了:
1、把二条sql语句放到一起当一条去执行,如:sql= "insert into test(*,*,*) value(*,*,*);update test2 set *=* where ... ",注意sql语句中用分号;隔开
2、把二个表做成级联更新的
3、存储过程
4、触发器