oracle的update .... where id in ('','','')优化问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle的update .... where id in ('','','')优化问题相关的知识,希望对你有一定的参考价值。

我要执行一个update语句,括号里为我得到的一个要修改的id结果集的字符串,如何优化,将这种形式的in换成exists

你是指这种吗?
update 表1 a set a.字段 ='test' where exists (select 1 from 表2 b where a.字段1=b.字段1 )

将查询的条件都放在exists里面
参考技术A 改成OR条件

oracle 怎么理解update 表 set 字段1 = 值,字段2 = 值 where 字段3 = 值

怎么更新表中的某一个字段和某一行? 我怎么一输入都是update 表 set 字段1 = 值,字段2 = 值 where 字段3 = 值 怎么理解?谢谢

update 是更新字段的值,属于DML语句

alter 是更新字段类型 属于DCL语句

你写的update 表 set 字段1 = 值,字段2 = 值 where 字段3 = 值

翻译出来就是更新满足 字段3 = 值 这个条件的 对应的 字段1 2的值

你可以先select 字段1, 字段2 from 表 where 字段3 = 值
查询出来的东西就是你要更新的内容追问

一直听说ddml,等其他语句,但不知道什么意思,能解释下吗? 谢谢

追答

DML(data manipulation language)
是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言

这个主要是对表中字段的数据做查询、更新、插入、删除

DDL(data definition language):

DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用

这个主要是创建表,或者对表里面的字段做 更改,删除

DCL(Data Control Language):

是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。
这个一般是数据库管理员才用到的

参考技术A update 表 set 字段1 = 值,字段2 = 值 where 字段3 = 值


表: 需要更新的数据所在的表名

字段1 = 值,字段2 = 值 : 需要更新的字段1,字段2,多个可继续往后添加

where  字段3 = 值   : where是筛选条件,比如你有10条数据,你只想更新里面学号为1的数据

以上是关于oracle的update .... where id in ('','','')优化问题的主要内容,如果未能解决你的问题,请参考以下文章

oracle update如何更新多行数据

oracle 怎么更新多个值 update A a set a.id = (select b.id from B b where a.name=b.name)

SQL语句update中的where条件的用法问题

oracle中Update方法

Oracle update语句用法

Oracle 关联两表写update语句