ORACLE_OCP之MERGE语句
ORACLE MERGE语句的作用:
当需要对一个表根据不同的条件进行INSERT、UPDATE以及DELETE操作时,可以使用MERGE(融合、合并)语句。
MERGE语句可以根据不同条件获取要插入、更新或删除到表中的数据行,然后从一个或多个数据源头对表进行更新或插入行。
MERGE语句语法:
MERGE INTO 表名
USING 表名/视图/子查询 ON 连接条件
WHEN MATCH THEN #当匹配连接条件时
更新、删除操作(UPDATE、DELETE)
WHEN NOT MATCHED THEN #当不满足匹配连接条件时
更新、删除、插入操作(UPDATE、DELETE、INSERT)
语句结束以后请根据需要确定事务状况:commit或roolback
USING:该语句的作用是起到了连接查询的作用
ON:该语句的作用是MERGE INTO下面语句执行的参考匹配条件
匹配执行的话就是:WHEN MATCHED THEN
不匹配执行的话就是:WHEN NOT MATCHED THEN
MERGE语句使用条件:
- ON匹配查询条件必须是等值连接
- 等值连接列必须有相同的名称和数据类型
- DELETE子句必须有一个WHERE条件来删除匹配某些条件的行,匹配DELETE WHERE条件但不匹配ON条件的行不会被从表中删除。