ORACLE中基于其他表更新当前表的update语法
2009-07-25 00:46
429 查看
其他表:SourceTable
当前表:TargetTable
方法一:
insert into
TargetTable(NO,COL3,COL4)
select TargetTable.Nextval,COL1,COL2)
from SourceTable
//where --------------------------
方法二:
根据两个表中的NO对应关系,将其他表(SourceTable)中COL1更新至当前表(TargetTable)中的COL3,COL2更新到COL4
ORACLE中基于其他表更新当前表的update语法:
UPDATE TargetTable
SET (COL3, COL4)=(SELECT COL1, COL2 FROM SourceTable WHERE SourceTable.NO=TargetTable.NO)
WHERE EXISTS (SELECT 1 FROM SourceTable WHERE SourceTable.NO=TargetTable.NO)
此处必须写WHERE子句,如果不写WHERE子句,oracle将会默认的把所有的值全部更新,因而会把该行其他值更新为空。
No | col1 | col2 |
No | col3 | col4 |
insert into
TargetTable(NO,COL3,COL4)
select TargetTable.Nextval,COL1,COL2)
from SourceTable
//where --------------------------
方法二:
根据两个表中的NO对应关系,将其他表(SourceTable)中COL1更新至当前表(TargetTable)中的COL3,COL2更新到COL4
ORACLE中基于其他表更新当前表的update语法:
UPDATE TargetTable
SET (COL3, COL4)=(SELECT COL1, COL2 FROM SourceTable WHERE SourceTable.NO=TargetTable.NO)
WHERE EXISTS (SELECT 1 FROM SourceTable WHERE SourceTable.NO=TargetTable.NO)
此处必须写WHERE子句,如果不写WHERE子句,oracle将会默认的把所有的值全部更新,因而会把该行其他值更新为空。
相关文章推荐
- ORACLE中基于其他表更新当前表的update语法
- 诸如可更新、可滚动游标及符合ANSI的CASE语句、日期一时间数据类型和连接语法之类的特性便从将在其他数据库上开发的应用程序移植到Oracle 9i中
- Oracle关联更新语法(T-SQL中的update...from)
- oracle 查询当前用户的表和其他用户的表
- oracle update 几种方法容易理解和使用的更新命令
- update set where exists 多表更新 在mssql、MySQL、Oracle中分别用法
- 关于ORACLE的UPDATE更新多表的问题
- Oracle 中用 update 语句更新date, timestamp字段的格式
- ORACLE 日期处理,将日期更新为当前日期,时分秒不变
- Oracle的 工作过程(更新update)
- ubuntu11.04 更新版本(其他的老版本都是相似的)(不能使用apt-get update)
- C#语句对Access中数据更新问题――Update语法错误
- 关于ORACLE的UPDATE更新多表的问题
- 关于ORACLE的UPDATE更新多表的问题
- oracle 10g update的语法 更名成 Oracle的update语句优化研究
- 【SQL语法】系列08:利用Update更新表中数据
- mybatis执行批量更新update 的方法oracle
- 【转载】oracle更新语法
- ORACLE UPDATE 语句语法与性能分析的一点看法
- update语句更新时和其他的表联合查询