Страница 1 из 1

Проблема с выборкой внутри ХП

Добавлено: 23 ноя 2004, 07:54
Andrew
Есть сервер IB7.1, Есть IBExpert 2004.08.05 Необходимо написать процедуру возвращающую некоторый набор записей отобранных по какому-то критерию... выглядит примерно так:

CREATE PROCEDURE DICTIONARY_NOMENKLATURA(BARCODE_IN CHAR(13))
RETURNS (ID INTEGER, BARCODE CHAR(13), NAME CHAR(50))
AS
DECLARE VARIABLE BARCODE_VR CHAR(14);
BEGIN

BARCODE_VR = RTRIM(LTRIM(BARCODE_IN)) || '%';

FOR SELECT ID, BARCODE, NAMEFROM NOMENKLATURA WHERE (UPPER(BARCODE) LIKE UPPER(:BARCODE_VR)) INTO :ID, :BARCODE, :NAME DO
SUSPEND;
END

А теперь самое приятное - не работает ;) заменяем UPPER(:BARCODE_VR) на непосредственное значение в теле процедуры, например на '460%' и все как надо... Вопрос - Почему он не хочет правильно работать с параметрами в переменных...

Добавлено: 23 ноя 2004, 08:10
sag
> DECLARE VARIABLE BARCODE_VR CHAR(14);

меняй на VARCHAR(14)

Добавлено: 23 ноя 2004, 09:57
Andrew
Благодарю... Заработало ;)