您好我正在努力在ISeries DB2中编写存储过程但是有错误。
create procedure pakretst.fttest2
(IN fExpression CHARACTER(10))
language sql
reads sql data
dynamic result sets 1
begin
declare stmt VARCHAR(50);
declare x cursor for sl;
If ftExpression IS NOT NULL
set stmt='select * from pakretst.uwftrtystp WHERE'+ftExpression;
else
set stmt='select * from pakretst.uwftrtystp';
prepare sl from stmt;
open x;
return;
end
;
**** SQL状态:42618 供应商代码:-312 消息:[SQL0312]变量FTEXPRESSION未定义或不可用。原因。 。 。 。 。 :变量FTEXPRESSION出现在SQL语句中,但存在以下条件之一: - 不存在变量声明。 - **
答案 0 :(得分:1)
我不知道这是一个简单的转录错误,但是你在这里给出的是
(IN fExpression CHARACTER(10))
在参数列表中但
set stmt='select * from pakretst.uwftrtystp WHERE'+ftExpression;
在使用时 - fExpression
与ftExpression
...