pl sql 学习笔记(四) merge oracle 用法
来源:互联网 发布:软件购买合同范本 编辑:程序博客网 时间:2024/04/30 02:58
1、 Merge语句:
语法:merge into table_name , rename_table_name
Using (qurery_sql语句) 查询结果rename
On (条件: )
When matchedthen
Update_sq;
When notmatched then
Insert_sql
1、UPDATE或INSERT子句是可选的
2、UPDATE和INSERT子句可以加WHERE子句
3、在ON条件中使用常量过滤谓词来insert所有的行到目标表中,不需要连接源表和目标表
4、UPDATE子句后面可以跟DELETE子句来去除一些不需要的行
具体用法:
网上案例:
MERGE INTO PRODUCTS P USING NEWPRODUCTS NP ON (P.PRODUCT_ID = NP.PRODUCT_ID) WHEN MATCHED THEN UPDATE SET P.PRODUCT_NAME = NP.PRODUCT_NAME, P.CATEGORY = NP.CATEGORY WHERE P.CATEGORY = 'DVD' ---(这里后面可以添加delete) --- Delete where 条件: WHEN NOT MATCHED THEN INSERT (PRODUCT_ID ,PRODUCT_NAME ,CATEGORY) VALUES (NP.PRODUCT_ID ,NP.PRODUCT_NAME ,NP.CATEGORY) WHERE NP.CATEGORY != 'BOOKS'; SELECT * FROM PRODUCTS; SELECT * FROM NEWPRODUCTS
说明:表products 与表newproducts通过相同的主键 id 相互联合。
如果:满足on 后面的条件,则更新,否则将插入记录。
也就是:如果记录中有了记录就更新,否则添加记录。
更新记录和添加记录时也可以添加条件用来选择性的添加或更新。所以可以带入各自的where。
在update后面可以增加delete where条件:用于删除满足条件的记录。 Delete只能用于update后面,不能用于 insert 后面。
个人学习看法:可能是用于批量修改,或者在旧的的功能上升级新的东西。不管怎么样都只是修改products表中的记录,不会对 newproducts有影响。
对于表newproducts 表,可以用 products的子查询来完成。只要满足要求就行。。。
0 0
- pl sql 学习笔记(四) merge oracle 用法
- Oracle PL/SQL 学习笔记(四)
- PL/SQL学习笔记(四)
- PL/SQL学习笔记四
- Oracle PL/SQL 学习笔记 (2)
- Oracle PL/SQL 学习笔记(1)
- Oracle PL/SQL学习笔记(一)
- Oracle PL/SQL 学习笔记(二)
- Oracle PL/SQL 学习笔记(三)
- Oracle学习笔记(三)PL/SQL
- Oracle PL/SQL学习笔记
- oracle学习笔记 ---- PL/SQL
- Oracle--PL/SQL学习笔记
- Oracle-PL/SQL学习笔记
- 初学Oracle PL/SQL 【笔记四】
- Oracle 笔记---SQL、PL/SQL学习笔记
- Oracle SQL与PL/SQL学习笔记(-)
- Oracle之SQL、PL/SQL学习笔记
- 10分钟,利用canvas画一个小的loading界面
- 网页高度计算
- 快点快点快乐锻炼锻炼
- URAL 1902 Neo-Venice(简单物理相遇问题)
- 创建视图,多表联
- pl sql 学习笔记(四) merge oracle 用法
- java基数排序算法代码下载
- 青铜粉的调制方法
- Socket.setSoTimeout()方法的使用
- 怎么把PDF转换成PPT格式
- struct和typedef struct彻底明白了
- 短信猫不能关闭服务,端口占用,javax.comm.PortInUseException: Port currently owned by org.smslib等问题
- poj 3693 Maximum repetition substring(有点麻烦的后缀数组)
- 阿的最佳细价股顾问可今天