我是用的sql server 2005我这里有几张表没有关联,但每张表里都有一个列名taskname,我想用一条SQL语句就更新多个表中的taskname值,请问高人应该怎么写。如果同时能再给出一条同时删除多个表taskname值相同的语句就更好了。
新手问题可能有些小白,见谅!!!
一个修改语句不行,要分开写,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
一个语句不行的吧.?不过你可以写个事物,出错的话.就回滚
1.使用一楼的代码,动态把相关的表拼成sql语句就可以了,如果有外键的话可以写sql语句去读取相关表,那么你连哪些表是相关的都可以不在代码里面体现,可以根据外键动态读取,这样做的话最好做成存取过程。
2.使用触发器。