3 sql control-language ibm-midrange
如何从CL程序运行存储过程?RUNSQLSTM需要一个源成员,但我只想构建一个命令,以便用户可以轻松地传入变量,因此这不起作用.
您可以调用系统程序QZDFMDB2
并将一个参数传递给SQL字符串来执行.在这种情况下,SQL字符串是对存储过程的调用:
CALL PGM(QZDFMDB2) PARM('CALL PROCEDURE (''XYZ'', ''ABC'')')
Run Code Online (Sandbox Code Playgroud)
要在您的值中替换,请使用PARM的变量:
DCL VAR(&CALL) TYPE(*CHAR) LEN(200)
CHGVAR VAR(&CALL)
VALUE('CALL PROCEDURE (''' *CAT &PARM1 *TCAT ''', ''' *CAT &PARM2 *TCAT ''')')
CALL PGM(QZDFMDB2) PARM(&CALL)
Run Code Online (Sandbox Code Playgroud)