oracle两条update语句怎么写,Oracle两表关联执行update语句代码
Oracle两表关联执行update时,因为没有像SqlServer的update from,因此要麻烦一些,通常有以下四种方式:
第一种:更新的条件为两个表的查询关联
update customers a – 使用别名
set customer_type=’01′ –01 为vip,00为普通
where exists (select 1
from tmp_cust_city b
where b.customer_id=a.customer_id
)
第二种:更新的条件为两个表的查询关联,值为查询值
update customers a — 使用别名
set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id)
where exists (select 1
from tmp_cust_city b
where b.customer_id=a.customer_id
)
第三种: update 超过2个值
update customers a — 使用别名
set (city_name,customer_type)=(select b.city_name,b.customer_type
from tmp_cust_city b
where b.customer_id=a.customer_id)
where exists (select 1
from tmp_cust_city b
where b.customer_id=a.customer_id
)
第四种,使用视图方式更新,这样能避免对B表或其索引的2次扫描,但前提是 A(customer_id) b(customer_id)必需是unique index
或primary key。否则报错:
update (select a.city_name,b.city_name as new_name
from customers a,
tmp_cust_city b
where b.customer_id=a.customer_id
)
set city_name=new_name
oracle两条update语句怎么写,Oracle两表关联执行update语句代码相关推荐
- 在ABAP的SQL语句中写Oracle Hints
在ABAP的SQL语句中写Oracle Hints ①用过的两个写法: 1.指定使用全表扫描:%_HINTS ORACLE 'FULL(table_name)' 2.指定索引:%_HINTS ORAC ...
- 多表关联的update语句
MSSql的多表关联的update语句 例如A表 存在一下字段: AID A1 A2 A3 A4 B表中存在字段: BID B1 B2 B3 B4 如果实现用B表的所有字段更新A表中相应的字段,在MS ...
- c语言解析sql语句_如何在C语言里面执行SQL语句?
一.为什么要在C语言程序中执行SQL语句? 在C语言程序中执行SQL语句的原因有以下几个: (1)程序需要获取数据库中某数据表的字段值,并对这些字段值进行解析以执行后续操作. (2)程序需要更新数据库 ...
- oracle一条sql运行时间很长,oracle查看执行最慢与查询次数最多的sql语句及其执行速度很慢的问题分析...
oracle查看执行最慢与查询次数最多的sql语句 前言 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻 ...
- oracle sql循环判断语句怎么写,Oracle 非常详细的 PL/SQL入门教程,PL/SQL语法格式/循环语句/条件判断/异常处理...
PL/SQL入门教程目录 Oracle PL/SQL入门教程,PL/SQL语法格式/循环语句/条件判断/异常处理 一.PL/SQL简介 1.PL/SQL简介 1.PL/SQl是过程语言PL与结构化语言 ...
- delete oracle 语句怎么写,Oracle下Delete语句
Delete语句 基本语法: delete from 表名 where 条件 注意事项: 1,如果不使用where子句,将表中所有数据全部删除 delete from test; 2,如果要删除某列的 ...
- Oracle\MS SQL Server的数据库多表关联更新UPDATE与多表更新
一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据.我们先来讨论根据其他表数据更新你要更新的表 一.MS S ...
- oracle执行语句出无效字符,pl/sql动态执行sql语句时报错:ORA-00911: 无效字符 ORA-06512: 在 line 14...
今天测试的时候遇到两个错误提醒,写下来给自己提个醒: --建测试表 create table test_table(tablename varchar2(50),selectsql clob); in ...
- mysql数据库添加数据语句怎么写_mysql中多种插入数据的语句
摘抄自:https://yjclsx.blog.csdn.net/article/details/83898545 mysql中常用的三种插入数据的语句 insert into表示插入数据,数据库会检 ...
最新文章
- js回调函数和函数带参数的使用示例
- python之33个关键字详解_Python 中的关键字 with 详解
- IIS启动时出现0x8ffe2740的错误
- 转: ashx中使用Session
- VC++实现对远程计算机屏幕的监视
- flask html 路径,【Python】Flask 怎样获取当前页面的相对路径
- spring4.x(4)--SpringIOC的HelloWorld
- 多选框中的选中的值和未选中值的获取
- matlab2c使用c++实现matlab函数系列教程-zeros函数
- [转载] 使用openpyxl模块向Excel中插入图片
- 剑指Offer——Python答案
- C# 设置鼠标光标为自定义图片
- 计算机桌面word不见怎么办,电脑桌面word 电脑桌面上word不见了怎么办
- 2 SAP SCC1同一服务器传请求号
- 支付宝|微信|h5|个人收款免签约支付系统源码
- c语言RLC算法,「百科」1分钟了解RC、RL、RLC电路原理
- 一分钟了解Mysql的间隙锁——《深究Mysql锁》
- 绘制2019-nCoV动态疫情地图
- Springboot项目install打包-某些输入文件使用了未经检查或不安全的操作。分析与解决
- iOS-自定义键盘选择器