python script:
import ibm_db
v_conn = ibm_db.connect("DATABASE=BLUDB;HOSTNAME=127.0.1.1;PORT=50000;PROTOCOL=TCPIP; UID=bluadmin;PWD=Yugenreddy@1;", "", "")
v_id = 1
v_aa = None
v_ret = 99
v_stmt, v_id, v_aa, v_ret = ibm_db.callproc(v_conn,"SP_MEM_DAILY_TMS",(v_id,v_aa,v_ret))
print("SP_MEM_DAILY_TMS")
print(v_ret)
ibm_db.close(v_conn)
v_conn = ibm_db.connect("DATABASE=BLUDB;HOSTNAME=127.0.1.1;PORT=50000;PROTOCOL=TCPIP; UID=bluadmin;PWD=Yugenreddy@1;", "", "")
v_id = 1
v_aa = None
v_ret = 99
v_stmt, v_id, v_aa, v_ret = ibm_db.callproc(v_conn,"ZZ_TEST_RET2",(v_id,v_aa,v_ret))
print("ZZ_TEST_RET2")
print(v_ret)
ibm_db.close(v_conn)
python output: SP_MEM_DAILY_TMS None ZZ_TEST_RET2 9
почему возвращается «None», когда мы присваиваем «0». и выполнить его из python, используя ibm_db.callpro c
create or replace procedure ZZ_TEST_RET2(
IN I_QUEUE_PROC_ID BIGINT
,IN I_AAA_ID INTEGER
,OUT O_RETURN SMALLINT
)
SPECIFIC ZZ_TEST_RET2
P1:BEGIN
DECLARE C_RET_OK SMALLINT CONSTANT 9;
SET O_RETURN = C_RET_OK;
RETURN;
end"
CREATE OR REPLACE PROCEDURE SP_MEM_DAILY_TMS(
IN I_QUEUE_PROC_ID BIGINT
,IN I_EMPLR_ID INTEGER
,OUT O_RETURN SMALLINT
)
BEGIN
DECLARE C_RET_OK SMALLINT CONSTANT 0;
SET O_RETURN = C_RET_OK;
RETURN;
END