一句sql语句,同时修改多个表的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一句sql语句,同时修改多个表的数据相关的知识,希望对你有一定的参考价值。

update
(select customer_info.customerid, customer_info.remark c_remark,contract_info.remark co_remark,house_info.remark h_remark
from customer_info,contract_info,house_info
where contract_info.customerid=customer_info.customerid
and house_info.contractid=contract_info.contractid ) aa
set aa.c_remark='0',aa.co_remark='0',aa.h_remark='0'
本想这样修改,但是是错误的,因为这样修改的是个结果集的东西,所以不行,我想同时修改这三个表的数值,应该怎么写呢?
这是三个表的关联修改,也就是说要在某个条件下的关联修改,一个一个改怎么写条件呢

1.可以多写几个update语句
2.在一张表上,建个触发器,修改一张表的同时,利用触发器关联的修改其他的表。

三个表的关联修改,用触发器完全可以实现了。修改一个表的同时,触发其他两个表的修改。
参考技术A 对于多表删除,建议使用存储过程,利用事务回滚的机制来处理、、、 参考技术B 同时写3个update语句不就了吗?只是在提交的时候一起提交而已,为什么要那么复杂呢?

如何用标准SQL语句给一张表中添加多个字段

ALTER TABLE 语句

ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

如需在表中添加列,请使用下列语法:

ALTER TABLE table_name
ADD column_name datatype

实例:

/*ALTER TABLE 增加多个字段 */
ALTER TABLE TABLE_USER ADD 
 DEPARTMENT_ID INT NOT NULL
,COMPANY_ID INT NOT NULL
,TEMP_COL NVARCHAR(10)
;
参考技术A alter table b_en_zh add edict MEDIUMTEXT,
add rootsaffixes MEDIUMTEXT,
add simple_means MEDIUMTEXT,
add sanyms MEDIUMTEXT
;
参考技术B alter table 表名 add columns 字段名 约束条件 参考技术C

CREATE   TABLE   test   (column_a   INT)                 --建立数据库 

GO  

ALTER   TABLE   test   ADD   column_b   VARCHAR(20)   NULL   --增加

GO  

======================================================

alter   table   表名   add   列名   varchar(2)        --增加  

alter   table   表名   drop   column   列名           --删除

alter   table   表名   alter   column   列名          --修改   

alter   table   表名   rename   column   原列名   to   新列名   --修改列名

alter   table   表名   add   新列名   新列数据类型

SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。

参考技术D create table userinfo

(
id int primary key not null identity (1,1),

[name] char(20) unique,
age int check(age>10),
sex char(2)
)

建议一个名叫userinfo的表,字段为

id ,自动+1,主键,不为空!
name ,char(20) 不重复!
age int类型,年龄必须大于10,否则会出现错误!
sex 性别 char(2)

好好学习,天天向上!
转载xing_8888_good他的回答

以上是关于一句sql语句,同时修改多个表的数据的主要内容,如果未能解决你的问题,请参考以下文章

使用SQL的更新语句时,一次可以对几个表进行更新?

可不可以用一条SQL语句同时修改两个表的数据

怎么用一句sql语句删除一个数据库里面选择性的删除表里面的内容?

如何用标准SQL语句给一张表中添加多个字段

如何用SQL语句修改一个表的字段,让它不能为空

sql如何同时查询多个数据并修改?