MERGE INTO edw_int a
USING (
SELECT
*
FROM
edw_int_2
) ei
ON (a.curr_period = ei.curr_period)
WHEN MATCHED THEN
UPDATE
SET
a.agmt_sub_no = ei.agmt_sub_no,
a.need_repay_int = ei.need_repay_int
WHEN NOT MATCHED THEN
INSERT
(
a.agmt_no,
a.agmt_sub_no,
a.need_repay_int,
a.curr_period
)
VALUES
(
ei.agmt_no,
ei.agmt_sub_no,
ei.need_repay_int,
ei.curr_period
);
注意:1、请注意语法,在using、on后面的括号都是必不可少项.如不加括号则报语法错误.
2、在matched/not matched中的DML语句结束位置,可以对using表中的数据进行处理.
3、其中语句insert (col1,col2..) values(select_col1,select_col2..) 之后可添加where (条件子句),update set () 后面可以添加delete where (条件子句).