【发布时间】:2017-01-04 05:56:11
【问题描述】:
我需要将存储过程调用到另一个存储过程中,并返回存储在 db2 变量中的值。
谢谢
【问题讨论】:
标签: sql stored-procedures db2
我需要将存储过程调用到另一个存储过程中,并返回存储在 db2 变量中的值。
谢谢
【问题讨论】:
标签: sql stored-procedures db2
一个例子可能是这个:
DECLARE STMT STATEMENT;
PREPARE STMT FROM 'CALL MODIFY_DESCENDANTS (?, ?)';
EXECUTE STMT USING LOG_ID, LEVEL;
取自 log4db2 - https://github.com/angoca/log4db2/blob/master/src/main/sql-pl/03-UtilityBody.sql#L729
如果存储过程返回一个结果集,并且您想从中获取值,那么您需要调用存储过程并使用关联和分配语句。例如,您可以访问https://www.toadworld.com/platforms/ibmdb2/w/wiki/7460.call-allocate-and-associate
CALL EMPR;
ASSOCIATE RESULT SET LOCATOR (LOC1) WITH PROCEDURE EMPR;
ALLOCATE C1 CURSOR FOR RESULT SET LOC1;
【讨论】: