我有一个带有左连接的光标,如下所示:
CURSOR c_emp
SELECT * FROM FROM EMP_NEW
LEFT JOIN
(SELECT EMP_ID,
DEPT_ID,
SUB_DEPT_ID,
EMP_UID,
FROM EMP)
USING (DEPT_ID, SUB_DEPT_ID, EMP_UID);
然后在 for 循环中引用它:
For i in c_emp
IF i.emp_id IS NULL
then
insert into emp...
else
update emp...
where emp_id = i.emp_id;
end if;
我们有一个场景,将新数据EMP
从EMP_NEW
表中加载到表中,emp_new.dept_id
并且表中可以有一个具有不同值emp_new.emp_uid
的副本。当我们得到这样的新数据时,光标中没有选择 ,因此逻辑转到而不是。我希望选择重复项,以便将其转到.EMP
sub_dept_id
emp.emp_id
INSERT
UPDATE
emp_id
UPDATE
电磁脉冲数据:
EMP_ID DEPT_ID SUB_DEPT_ID EMP_UID
123 1 10 123.123
EMP_NEW 数据:
DEPT_ID SUB_DEPT_ID EMP_UID
1 20 123.123
上面的游标当前返回以下内容:
EMP_ID DEPT_ID SUB_DEPT_ID EMP_UID
null 1 20 123.123
我希望它返回:
EMP_ID DEPT_ID SUB_DEPT_ID EMP_UID
123 1 20 123.123