首页 新闻 搜索 专区 学院

求一条SQL语句,同时更新多张表

0
悬赏园豆:50 [已解决问题] 解决于 2012-07-08 09:51

我是用的sql server 2005我这里有几张表没有关联,但每张表里都有一个列名taskname,我想用一条SQL语句就更新多个表中的taskname值,请问高人应该怎么写。如果同时能再给出一条同时删除多个表taskname值相同的语句就更好了。

 

新手问题可能有些小白,见谅!!!

风灵波的主页 风灵波 | 初学一级 | 园豆:4
提问于:2012-07-07 10:32
< >
分享
最佳答案
1

一个修改语句不行,要分开写,mysql才可以只用一条语句就可以修改多个表的。

你可以写成存储过程。

BEGIN TRANSACTION

UPDATE Table1
  SET Table1.LastName = 'DR. XXXXXX' 
FROM Table1 T1, Table2 T2
WHERE T1.id = T2.id
and T1.id = '010008'

UPDATE Table2
SET Table2.LastName = 'start,stop'
FROM Table1 T1, Table2 T2
WHERE T1.id = T2.id
and T1.id = '010008'

COMMIT
收获园豆:40
悟行 | 专家六级 |园豆:12385 | 2012-07-07 11:20
其他回答(2)
0

一个语句不行的吧.?不过你可以写个事物,出错的话.就回滚

只会造轮子 | 园豆:2274 (老鸟四级) | 2012-07-07 18:01
0

1.使用一楼的代码,动态把相关的表拼成sql语句就可以了,如果有外键的话可以写sql语句去读取相关表,那么你连哪些表是相关的都可以不在代码里面体现,可以根据外键动态读取,这样做的话最好做成存取过程。

2.使用触发器。

收获园豆:10
安卓粉丝 | 园豆:99 (初学一级) | 2012-07-08 01:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册