update select

简介:
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

update中加入select
最常用的update语法是:
UPDATE <table_name>
SET <column_name1> = <value>, SET <column_name2> = <value>

如果我的更新值Value是从一条select语句拿出来,而且有很多列的话,用这种语法就很麻烦
第一,要select出来放在临时变量上,有很多个哦
第二,再将变量进行赋值。
列多起来非常麻烦,能不能像Insert那样,把整个Select语句的结果进行插入呢?就好象下面
insert into table1
    (c1, c2, c3)
(select v1, v2, v3 from table2)

答案是可以的,具体的语法如下:
UPDATE <table_name> <alias>
SET (<column_name>,<column_name> ) = (
   SELECT (<column_name>, <column_name>)
   FROM <table_name>
   WHERE <alias.column_name> = <alias.column_name>)
WHERE <column_name> <condition> <value>;


本文转自 netcorner 博客园博客,原文链接:http://www.cnblogs.com/netcorner/archive/2009/04/23/2912074.html   ,如需转载请自行联系原作者


相关文章
|
1天前
|
SQL 数据库
UPDATE
【11月更文挑战第04天】
6 1
|
3月前
|
SQL 关系型数据库 数据库
在 Postgres 中使用 Update Join
【8月更文挑战第11天】
205 0
在 Postgres 中使用 Update Join
|
SQL 数据库
INSERT DESC UPDATE SELECT
INSERT DESC UPDATE SELECT
97 0
|
SQL druid Oracle
由for update引发的血案
公司的某些业务用到了数据库的悲观锁 for update,但有些同事没有把 for update 放在 Spring 事务中执行,在并发场景下发生了严重的线程阻塞问题,为了把这个问题吃透,秉承着老司机的职业素养,我决定要给同事们一个交代。
563 0
由for update引发的血案
|
SQL 关系型数据库 MySQL
Select for update使用详解
前言 近期开发与钱相关的项目,在高并发场景下对数据的准确行有很高的要求,用到了for update,故总结一波以便日后留恋。 for update的使用场景 如果遇到存在高并发并且对于数据的准确性很有要求的场景,是需要了解和使用for update的。 比如涉及到金钱、库存等。一般这些操作都是很长一串并且是开启事务的。如果库存刚开始读的时候是1,而立马另一个进程进行了update将库存更新为0了,而事务还没有结束,会将错的数据一直执行下去,就会有问题。所以需要for upate 进行数据加锁防止高并发时候数据出错。
2317 0
|
Web App开发 异构计算
|
SQL 关系型数据库
update issue a join TABLE b on on a.id=b.isid set a.group_date= b.groupDate
update issue a join TABLE b on on a.id=b.isid set a.group_date= b.groupDate update issue a join (SELECT iss.
822 0