浙江地区数据下发均为增量下发,只有数据发生改变的时候才会下发,从接口层转化大绩效层的时候,有时关联其他表会取不到数据,出于解决此问题,我们现场整理了一个批量生成MERGE语句的方法和调用的存储过程。
首先我们来学习一下MERGE INTO语句是使用方法:
DB2中的Merge语句可以将一个表中的数据合并到另一个表中,在合并的同时可以根据条件进行插入、删除、更新等操作。这个语句在我们PAS系统中多次转换主键相同的数据时特别省时间。
语法如下:
MERGE INTO table_name alias1
USING (table|view|sub_query) alias2
ON (join condition)
WHEN MATCHED THEN
UPDATE table_name SET col1 = col_val1,col2 = col2_val
WHEN NOT MATCHED THEN
INSERT (column_list) VALUES (column_values)
关键字、参数的解答
into子句
在into子句中指定所要修改或者插入数据的目标表
using子句
在using子句中指定用来修改或者插入的数据源。数据源可以是表、视图或者一个子查询语句。
on子句
在on子句中指定执行插入或者修改的满足条件。
when matched | not matched
用该子句通知数据库如何对满足或不满足条件的结果做出相应的操作。可以使用以下的两类子句。
merge_update子句
merge_update子句执行对目标表中的字段值修改