资源描述:
《db2存储过程(merge关键字的使用)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DB2存储过程(Merge关键字的使用)CREATEPROCEDURECOPY_OCJ_LIST_TO_SHIPMENT(INP_SESSION_IDVARCHAR(40),--当前用户的sessionIDINP_IS_REPEATVARCHAR(20),--如果导入新数据传入值:YES,如果导入全部数据传入值:ALLINP_IS_SAMEVARCHAR(20),--是否保存INP_ORDER_TYPEVARCHAR(20),--客户发货入库INP_ORDER_IDVARCHAR(20),--入库编号INP_ORDER_TIMEVARCHAR(30),--入
2、库时间INP_VENDOR_IDVARCHAR(20),--发货客户INP_WAREHOUSE_IDVARCHAR(20),--分拨中心INP_CREATE_BYVARCHAR(20)--创建者)MODIFIESSQLDATA--表示存储过程可以执行任何SQL语句LANGUAGESQL--------------------------------------------------------------------------SQL存储过程----------------------------------------------------------
3、--------------P1:BEGINATOMIC--声明一个变量,用来保存入库计划明细中未失效运单的数量DECLARED_ODRER_COUNTINTEGER;DECLARED_ORDER_IDVARCHAR(20);---------------------------保存OCJ正式表数据---------------------------MERGEINTOOCJ_SHIPMENTOSUSING(--查询OCJ导入的临时表数据SELECTSHIPMENT_ID,--IDSHIPMENT_PLAN_NO,--运单号RECEIVE_DATE,--提货
4、日期VENDOR_ID,--发货客户WAREHOUSE_ID,--原分拨中心IS_CHECK,--是否审核CAR_LICENSE_NO,--车辆牌号DRIVER_NAME,--司机名称STATE,--状态CREATE_BY,--创建者CREATE_DATE,--创建日期LAST_UPDATE_BY,--修改者LAST_UPDATE_DATE,--修改日期SESSION_ID,--用户IDSERIAL_ID,--序列号IS_REPEAT,--是否重复FROM_WAREHOUSE_ID,--来源分拨中心IS_SAME_WAREHOUSE--是否同一分拨中心FRO
5、MOCJ_SHIPMENT_TEMPWHERESESSION_ID=P_SESSION_IDANDIS_REPEAT!=P_IS_REPEAT)OSTON(OST.IS_REPEAT!=P_IS_REPEATANDOS.SHIPMENT_PLAN_NO=OST.SHIPMENT_PLAN_NOANDOS.VENDOR_ID=OST.VENDOR_ID)--如果临时表中标记为YS_Yes的,则修改WHENMATCHEDTHEN--如果指定的条件匹配,则执行修改动作UPDATESETOS.SHIPMENT_PLAN_NO=OST.SHIPMENT_PLAN_NO
6、,--运单号OS.RECEIVE_DATE=OST.RECEIVE_DATE,--提货日期OS.VENDOR_ID=OST.VENDOR_ID,--发货客户OS.WAREHOUSE_ID=OST.WAREHOUSE_ID,--原分拨中心OS.FROM_WAREHOUSE_ID=OST.FROM_WAREHOUSE_ID,--来源分拨中心OS.IS_CHECK=OST.IS_CHECK,--是否审核OS.CAR_LICENSE_NO=OST.CAR_LICENSE_NO,--车辆编号OS.DRIVER_NAME=OST.DRIVER_NAME,--司机名称OS
7、.STATE=OST.STATE,--状态OS.LAST_UPDATE_BY=OST.LAST_UPDATE_BY,--修改者OS.LAST_UPDATE_DATE=OST.LAST_UPDATE_DATE--修改日期WHENNOTMATCHEDTHEN--如果指定的条件不匹配,则执行添加动作INSERT(SHIPMENT_ID,--IDSHIPMENT_PLAN_NO,--运单号RECEIVE_DATE,--提货日期VENDOR_ID,--发货客户WAREHOUSE_ID,--原分拨中心IS_CHECK,--是否审核CAR_LICENSE_NO,--车辆牌
8、号DRIVER_NAME,--司机名称STATE,-