PLSQL:MERGE的用法
MERGE INTO fzq1 aa --fzq1表是需要更新的表 USING fzq bb -- 关联表 ON (aa.id = bb.id) --关联条件 WHEN MATCHED THEN --匹配关联条件,作更新处理 UPDATE SET aa.chengji = bb.chengji + 1, aa.name = bb.name --此处只是说明可以同时更新多个字段。 WHEN NOT MATCHED THEN --不匹配关联条件,作插入处理。如果只是作更新,下面的语句可以省略。 INSERT VALUES (bb.id, bb.name, bb.sex, bb.kecheng, bb.chengji);
以上为用法,下面来一个实例
MERGE INTO cux.test_t1 t --需要更新或插入的表 USING cux_ap_terms_lines ctl -- 关联表 ON (t.t_id = ctl.line_id) --关联条件 WHEN MATCHED THEN --匹配关联条件,则作更新处理 UPDATE SET t.cloum1 = ctl.header_id, t.cloum2 = ctl.term_id WHEN NOT MATCHED THEN --不匹配关联条件,则作插入处理。如果只是作更新,则下面的语句可以省略。 INSERT VALUES (ctl.line_id, ctl.header_id, ctl.term_id);SELECT * FROM cux.test_t1;