2011-11-10 74 views
0

我目前做的过程,这需要提交一个存储过程另一个存储过程中接收到的参数,这是我形成的代码:如何提交在存储过程中接收参数的存储过程?

SET PARAMETROS1 = '''<root><esquema></esquema></root>''' ; 
SET PARAMETROS2 = '''CALL ' || ESQUEMAOR || '.PRU_LLAMA(''' || PARAMETROS1 || ''')''' ; 
SET SENTENCIA = '''SBMJOB CMD(CALL PGM(QZDFMDB2) PARM(' || PARAMETROS2 || ')) JOB(MIGRA14) JOBQ(QGPL/TEL)''' ; 
SET MAXLENGTH = LENGTH (TRIM (SENTENCIA)) ; 
SET MAXLENGTH = LENGTH (SENTENCIA) - 4 ; 
SET NUMERO = CAST (MAXLENGTH AS VARCHAR (10)) ; 
WHILE (LENGTH (NUMERO) < 10) DO 
    SET NUMERO = '0' || NUMERO ; 
END WHILE ; 
SET STMT_QUERY = 'CALL QSYS.QCMDEXC(' || SENTENCIA || ' , ' || NUMERO || '.00000)' ; 
PREPARE STMT1 FROM STMT_QUERY ; 
EXECUTE STMT1 ; 

和我提出以下错误:

Keyword CALL not expected. Valid tokens:) ,

* 需要你的帮助*

+1

这是什么SQL?请更新您的标签 – DaveShaw

回答

2

尝试

EXECUTE spName Param1, ..., ParamN