我有四个工作的存储过程(DB2),每个存储过程都接受自己的参数,但是其中很多参数都是相同的。
我正在尝试创建一个更大的包装程序,该程序基本上只会按顺序调用每个包装程序。包装程序大约有10个外部值作为其自身的参数。
在主体中,我将调用所有4个子参数,在这里,我将混合使用外部参数和从第一次调用派生的主要ID参数。
如何使用外部参数以及第一次调用中捕获的/派生的参数正确包装这四个过程调用?
参数:
FIRST_NAME
LAST_NAME
PROFILE_IMAGE
CODE
START_DATE
EXPIRE_DATE
PRIORITY
CUST_NUMBER
CONTACT_TYPE
CONTACT_VALUE
CALL FIRST_PROC(FIRST_NAME,LAST_NAME,PROFILE_IMAGE)
--This returns ```FIRST_PROC_ID```
CALL SECOND_PROC(FIRST_PROC_ID, CODE,START_DATE,EXPIRE_DATE,PRIORITY)
CALL THIRD_PROC(FIRST_PROC_ID,CODE,CUST_NUMBER,START_DATE,EXPIRE_DATE,PRIORITY)
CALL FOURTH_PROC(FIRST_PROC_ID,CONTACT_TYPE,CONTACT_VALUE,START_DATE,EXPIRE_DATE)
答案 0 :(得分:2)
使用GET DIAGNOSTICS语句。
--#SET TERMINATOR @
SET SERVEROUTPUT ON@
CREATE OR REPLACE PROCEDURE TEST1(P_FIRST_PROC_ID INT)
BEGIN
RETURN P_FIRST_PROC_ID;
END@
BEGIN
DECLARE V_RC INT;
CALL TEST1(10);
GET DIAGNOSTICS V_RC = DB2_RETURN_STATUS;
CALL DBMS_OUTPUT.PUT_LINE('Return Status: '||V_RC);
END@