hi,
I have big problem when i execute my sql procedure
I have 2 parameters, and i must call this parameter in my sql statement
My procedure is :
Code:
CREATE PROCEDURE PFJALBL(IN PAR_ACTH_ID INTEGER, IN PAR_NB_ARC VARCHAR(255))
DYNAMIC RESULT SETS 1
LANGUAGE SQL
SPECIFIC PFJALBL
BEGIN
DECLARE stmt varchar(1000);
DECLARE c2 CURSOR FOR s1;
-- FOR SELECT
SET stmt = 'SELECT A.NUM_CIRCULATION_TRANCHE FROM TRHACTH A,TRHARTH B WHERE B.ARTH_ACTH_ID=''PAR_ACTH_ID'' FETCH FIRST '|| PAR_NB_ARC ||' ROWS ONLY';
PREPARE s1 FROM stmt;
EXECUTE s1;
OPEN c2;
END%
i get this message :
SQL0401N The data types of the operands for the operation "=" are not
compatible. SQLSTATE=42818
first : syntax is it correct? I use '||' for call the parameters, this is correct?
call procedure : call PFJALBL(1,'3').
I have try with this another procedure :
Code:
CREATE PROCEDURE PTEST(IN PAR_ACTH_ID INTEGER, IN PAR_NB_ARC VARCHAR(255))
DYNAMIC RESULT SETS 1
LANGUAGE SQL
SPECIFIC PTEST
BEGIN
DECLARE c2 CURSOR WITH RETURN TO CLIENT
FOR SELECT A.NUM_CIRCULATION_TRANCHE FROM TRHACTH A,TRHARTH B WHERE B.ARTH_ACTH_ID=PAR_ACTH_ID FETCH FIRST PAR_NB_ARC ROWS ONLY;
OPEN c2;
END%
but the parameter PAR_NB_ARC is not interpreted.
How execute this procedure???
Thanks