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

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Andrew

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

Сообщение Andrew » 23 ноя 2004, 07:54

Есть сервер 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%' и все как надо... Вопрос - Почему он не хочет правильно работать с параметрами в переменных...

sag
Сообщения: 116
Зарегистрирован: 02 ноя 2004, 11:42

Сообщение sag » 23 ноя 2004, 08:10

> DECLARE VARIABLE BARCODE_VR CHAR(14);

меняй на VARCHAR(14)

Andrew

Сообщение Andrew » 23 ноя 2004, 09:57

Благодарю... Заработало ;)

Ответить