merge用法详解
来源:互联网 发布:java读取zip文件 编辑:程序博客网 时间:2024/06/08 09:14
merge用法详解
1、普通用法:
MERGE INTO EMPLOYE AS EMUSING (SELECT * FROM MANAGER WHERE MA.SALARY > 2) AS MAON (EM.EMPLOYEID = MA.MANAGERID)WHEN MATCHED AND EM.SALARY < MA.SALARY THEN UPDATE SET EM.SALARY = MA.SALARYWHEN NOT MATCHED THEN INSERT VALUES (MA.MANAGERID, MA.NAME, MA.SALARY);
2、添加其它条件:
MERGE INTO EMPLOYE AS EMUSING (SELECT * FROM MANAGER WHERE MA.SALARY > 2) AS MAON (EM.EMPLOYEID = MA.MANAGERID)WHEN MATCHED AND EM.SALARY < MA.SALARY THEN UPDATE SET EM.SALARY = MA.SALARYWHEN NOT MATCHED THEN INSERT VALUES (MA.MANAGERID, MA.NAME, MA.SALARY);
3、忽略某个条件
MERGE INTO EMPLOYE AS EMUSING MANAGER AS MAON EM.EMPLOYEID = MA.MANAGERID WHEN MATCHED AND EM.SALARY < MA.SALARY THEN UPDATE SET EM.SALARY = MA.SALARYWHEN NOT MATCHED THEN INSERT VALUES (MA.MANAGERID, MA.NAME, MA.SALARY) ELSE IGNORE
4、抛异常:
MERGE INTO EMPLOYE AS EMUSING MANAGER AS MAON EM.EMPLOYEID = MA.MANAGERIDWHEN MATCHED THEN AND EM.SALARY < MA.SALARY THEN UPDATE SET EM.SALARY = MA.SALARYWHEN MATCHED AND EM.SALARY > MA.SALARY THEN SIGNAL SQLSTATE '70001' SET MESSAGE_TEXT = 'EM.SALARY > MA.SALARY'WHEN NOT MATCHED THEN INSERT VALUES (MA.MANAGERID, MA.NAME, MA.SALARY);
5、删除:
MERGE INTO EMPLOYE AS EM USING MANAGER MA ON EM.EMPLOYEID = MA.MANAGERID WHEN MATCHED AND EM.SALARY < MA.SALARY THEN UPDATE SET EM.SALARY = MA.SALARYWHEN MATCHED AND EM.SALARY > MA.SALARY THEN DELETEWHEN NOT MATCHED THEN INSERT VALUES (MA.MANAGERID, MA.NAME, MA.SALARY);
0 0
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- Oracle-Merge用法详解
- ORACLE-MERGE用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- oracle-merge用法详解
- ISO-8859-1中文乱码问题
- MacOS中创建Sublime Text3快捷方式返回Operation not permitted的原因及解决
- 串口入门,我的理解
- 第二本 第四章上机4开心餐厅介绍
- Windows 批处理文件(DOS命令)变量赋值时变量后不宜有空格
- merge用法详解
- 大话数据结构读书笔记 6---查找
- 做知乎大神不如做个知乎,问答社区建站工具——WeCenter
- canvas粒子动画
- python的socket发送C结构体
- 常见异常总结
- 平面分割问题
- Python入门——猜数字游戏
- Linux驱动之设备模型