Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

/*******************************************************************************
The next statement causes the following error:
 
Invalid token.
invalid request BLR at offset 356.
Procedure GET_FULLADDRESS_2 is not selectable (it does not contain a SUSPEND statement).
Error while parsing procedure GET_ADDRESS_LIST_2's BLR.
*******************************************************************************/
ALTER PROCEDURE GET_ADDRESS_LIST_2 (
    SRCH_STR VARCHAR(40),
    ADDRESS_TYPE SMALLINT,
    MAX_COUNT SMALLINT)
RETURNS (
    ADR_REG SMALLINT,
    ADR_ID BIGINT,
    ADR_FULLNAME VARCHAR(500))
AS
DECLARE VARIABLE CNT SMALLINT;
BEGIN
  IF (:ADDRESS_TYPE IS NULL) THEN ADDRESS_TYPE = 0;
  IF (MAX_COUNT IS NULL) THEN MAX_COUNT = 100;
  IF ((:MAX_COUNT > 100) OR (:MAX_COUNT < 5)) THEN MAX_COUNT = 100;
  CNT = 0;
  FOR
    SELECT A.ADDRESSREGION_ID, A.ADDRESS_ID
    FROM KLADR_ADDRESS_2 A
    WHERE (A.ABBREV_LEVEL < 5) AND UPPER(A.ADDRESS_NAME) LIKE :SRCH_STR
    ORDER BY A.ADDRESSREGION_ID
    INTO :ADR_REG, :ADR_ID
  DO BEGIN
    SELECT SA FROM GET_FULLADDRESS_2(:ADDRESS_TYPE, :ADR_REG, :ADR_ID)
    INTO :ADR_FULLNAME;
    SUSPEND;
    CNT = :CNT + 1;
    IF (:CNT > :MAX_COUNT) THEN EXCEPTION EXC_MANYVALUES;
  END
END
;
 
/*******************************************************************************
The next statement causes the following error:
 
Invalid token.
invalid request BLR at offset 394.
Procedure GET_FULLADDRESS_20 is not selectable (it does not contain a SUSPEND statement).
Error while parsing procedure GET_ADDRESS_LIST_20's BLR.
*******************************************************************************/
ALTER PROCEDURE GET_ADDRESS_LIST_20 (
    SRCH_STR VARCHAR(40),
    ADDRESS_TYPE SMALLINT,
    MAX_COUNT SMALLINT)
RETURNS (
    ADR_REG SMALLINT,
    ADR_ID BIGINT,
    ADR_VERS SMALLINT,
    ADR_FULLNAME VARCHAR(500))
AS
DECLARE VARIABLE CNT SMALLINT;
BEGIN
  IF (:ADDRESS_TYPE IS NULL) THEN ADDRESS_TYPE = 0;
  IF (MAX_COUNT IS NULL) THEN MAX_COUNT = 100;
  IF ((:MAX_COUNT > 100) OR (:MAX_COUNT < 5)) THEN MAX_COUNT = 100;
  CNT = 0;
  FOR
    SELECT A.ADDRESSREGION_ID, A.ADDRESS_ID, A.ADDRESS_VERSION
    FROM KLADR_ADDRESS_20 A
    WHERE (A.ABBREV_LEVEL < 5) AND UPPER(A.ADDRESS_NAME) LIKE :SRCH_STR
    ORDER BY A.ADDRESSREGION_ID
    INTO :ADR_REG, :ADR_ID, :ADR_VERS
  DO BEGIN
    SELECT SA FROM GET_FULLADDRESS_20(:ADDRESS_TYPE, :ADR_REG, :ADR_ID, :ADR_VERS)
    INTO :ADR_FULLNAME;
    SUSPEND;
    CNT = :CNT + 1;
    IF (:CNT > :MAX_COUNT) THEN EXCEPTION EXC_MANYVALUES;
  END
END
;
 

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 12:18 20-04-2010
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » InterBase и FireBird: вопросы по работе и их решение


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru