Ошибка в хранимой процедуре - PullRequest
0 голосов
/ 19 июля 2010

Привет. Я стараюсь написать хранимую процедуру в 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 notопределяется или не используется.Причина,,,,: Переменная FTEXPRESSION появляется в операторе SQL, но существует одно из следующих условий: - Не существует объявления для переменной.- **

1 Ответ

1 голос
/ 19 июля 2010

Я не знаю, является ли это простой ошибкой в ​​транскрипции, но в приведенном здесь у вас есть

(IN fExpression CHARACTER(10))

в списке параметров, но

set stmt='select * from pakretst.uwftrtystp WHERE'+ftExpression;

вточка использования - fExpression против ftExpression ...

...