DB2存储过程(Merge关键字的使用).doc
文本预览下载声明
DB2存储过程(Merge关键字的使用)
CREATE PROCEDURE COPY_OCJ_LIST_TO_SHIPMENT
(
IN P_SESSION_ID VARCHAR(40), --当前用户的session ID
IN P_IS_REPEAT VARCHAR(20), --如果导入新数据传入值:YES,如果导入全部数据传入值:ALL
IN P_IS_SAME VARCHAR(20), --是否保存
IN P_ORDER_TYPE VARCHAR(20), --客户发货入库
IN P_ORDER_ID VARCHAR(20), --入库编号
IN P_ORDER_TIME VARCHAR(30), --入库时间
IN P_VENDOR_ID VARCHAR(20), --发货客户
IN P_WAREHOUSE_ID VARCHAR(20),--分拨中心
IN P_CREATE_BY VARCHAR(20) --创建者
)
MODIFIES SQL DATA --表示存储过程可以执行任何 SQL 语句
LANGUAGE SQL
------------------------------------------------------------------------
-- SQL 存储过程
------------------------------------------------------------------------
P1: BEGIN ATOMIC
--声明一个变量,用来保存入库计划明细中未失效运单的数量
DECLARE D_ODRER_COUNT INTEGER;
DECLARE D_ORDER_ID VARCHAR(20);
-------------------------
-- 保存OCJ正式表数据 --
-------------------------
MERGE INTO OCJ_SHIPMENT OS
USING
(
--查询OCJ导入的临时表数据
SELECT
SHIPMENT_ID, --ID
SHIPMENT_PLAN_NO, --运单号
RECEIVE_DATE, --提货日期
VENDOR_ID, --发货客户
WAREHOUSE_ID, --原分拨中心
IS_CHECK, --是否审核
CAR_LICENSE_NO, --车辆牌号
DRIVER_NAME, --司机名称
STATE, --状态
CREATE_BY, --创建者
CREATE_DATE, --创建日期
LAST_UPDATE_BY, --修改者
LAST_UPDATE_DATE, --修改日期
SESSION_ID, --用户ID
SERIAL_ID, --序列号
IS_REPEAT, --是否重复
FROM_WAREHOUSE_ID, --来源分拨中心
IS_SAME_WAREHOUSE --是否同一分拨中心
FROM OCJ_SHIPMENT_TEMP
WHERE SESSION_ID = P_SESSION_ID AND IS_REPEAT !
显示全部