oracle 10g update的语法 更名成 Oracle的update语句优化研究
2012-03-03 22:46
267 查看
一、 update语句的语法与原理
1. 语法
单表:UPDATE表名称 SET列名称 =新值 WHERE列名称 =某值
如:update t_join_situationset
join_state='1'whereyear='2011'
更新年度为“2011”的数据的join_state字段为“1”。如果更新的字段加了索引,更新时会重建索引,更新效率会慢。
多表关联,并把一个表的字段值更新到另一个表中的字段去:
update表a set a.字段1 = (select b.字段1 from 表b where a.字段2=b.字段2) where exists(select 1 from 表b where a.字段2=b.字段2)
oracle的更新语句不通MSSQL那么简单易写,就算写出来了,但执行时可能会报
这是由于set哪里的子查询查出了多行数据值,oracle规定一对一更新数据,所以提示出错。要解决这样必须保证查出来的值一一对应。
2. 原理
Update语句的原理是先根据where条件查到数据后,如果set中有子查询,则执行子查询把值查出来赋给更新的字段,执行更新。
如:
update表a set a.字段1 = (select b.字段1 from 表b where a.字段2=b.字段2)
where exists(select 1 from 表b where a.字段2=b.字段2)。
查表a的所有数据,循环每条数据,验证该条数据是否符合exists(select 1 from 表b where a.字段2=b.字段2)条件,
如果是则执行(select b.字段1 from表b where a.字段2=b.字段2)查询,查到对应的值更新a.字段1中。关联表更新时一定要有exists(select 1 from 表b where a.字段2=b.字段2)这样的条件,否则将表a的其他数据的字段1更新为null值。
引用/article/4389456.html
1. 语法
单表:UPDATE表名称 SET列名称 =新值 WHERE列名称 =某值
如:update t_join_situationset
join_state='1'whereyear='2011'
更新年度为“2011”的数据的join_state字段为“1”。如果更新的字段加了索引,更新时会重建索引,更新效率会慢。
多表关联,并把一个表的字段值更新到另一个表中的字段去:
update表a set a.字段1 = (select b.字段1 from 表b where a.字段2=b.字段2) where exists(select 1 from 表b where a.字段2=b.字段2)
oracle的更新语句不通MSSQL那么简单易写,就算写出来了,但执行时可能会报
这是由于set哪里的子查询查出了多行数据值,oracle规定一对一更新数据,所以提示出错。要解决这样必须保证查出来的值一一对应。
2. 原理
Update语句的原理是先根据where条件查到数据后,如果set中有子查询,则执行子查询把值查出来赋给更新的字段,执行更新。
如:
update表a set a.字段1 = (select b.字段1 from 表b where a.字段2=b.字段2)
where exists(select 1 from 表b where a.字段2=b.字段2)。
查表a的所有数据,循环每条数据,验证该条数据是否符合exists(select 1 from 表b where a.字段2=b.字段2)条件,
如果是则执行(select b.字段1 from表b where a.字段2=b.字段2)查询,查到对应的值更新a.字段1中。关联表更新时一定要有exists(select 1 from 表b where a.字段2=b.字段2)这样的条件,否则将表a的其他数据的字段1更新为null值。
引用/article/4389456.html
相关文章推荐
- Oracle的update语句优化研究
- Oracle的update语句优化研究
- 转发:Oracle的update语句优化研究 批量更新
- Oracle的update语句优化研究
- Oracle的update语句优化研究
- [转]Oracle的update语句优化研究
- Oracle的update语句优化研究
- Oracle的update语句优化研究
- Oracle的update语句优化研究
- Oracle的update语句优化研究 批量更新
- ORACLE UPDATE 语句语法与性能分析
- (转)ORACLE UPDATE 语句语法与性能分析的一点看法
- Oracle Update 语句语法与性能分析 - 多表关联
- ORACLE UPDATE 语句语法与性能分析的一点看法(转)
- Oracle中update语句的优化学习
- ORACLE UPDATE 语句语法与性能分析
- ORACLE UPDATE 语句语法与性能分析的一点看法
- ORACLE UPDATE 语句语法与性能分析的一点看法
- oracle中update语句的性能优化
- ORACLE UPDATE 语句语法与性能分析的一点看法(转载)