Oracle数据库函数使用

MERGE INTO

作用:判断C表(源表)和A表(目标表)是否满足ON中条件,如果满足则用C表去更新A表,如果不满足,则将C表数据插入A表.

  简单的说就是,判断表中有没有符合on()条件中的数据,有了就更新数据,没有就插入数据

# 判断表中有没有符合on()条件中的数据,有了就更新数据,没有就插入数据。
MERGE INTO 目标表 A USING (
 SELECT
    B.ID,
    B.F_LOGINNAME,
    B.F_PASSWORD
 FROM
  T_MEM_MEMBER B where B.F_LOGINNAME='???'
) 源表C ON (A.条件字段 = C.条件字段)
# 匹配成功执行更新语句
WHEN MATCHED THEN UPDATE SET A.F_PASSWORD = C.F_PASSWORD
# 匹配不成功执行插入语句
WHEN NOT MATCHED THEN 
	INSERT (A.ID, A.F_NAME, A.F_PASSWORD,A.F_CAPTION, A.F_TYPE,A.F_STATE,A.F_NOTE,A.F_ORDER,A.F_DEPT_ID,A.F_DEPT_NAME,A.F_MS_RECEIVED)
	VALUES
	(C.ID, C.F_LOGINNAME, C.F_PASSWORD,'区级管理员/街道管理员/...','2','0','1','1','0','管理员','0');

  

原文地址:https://www.cnblogs.com/zhangzhixi/p/15261484.html