Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Цикл в условии / 7 сообщений из 7, страница 1 из 1
01.12.2015, 01:32
    #39116891
B0nG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл в условии
Люди, помогите построить правильную процедуру. Собственно раньше она возвращала одно значение и проблем не было, но теперь потребовалось возвращать несколько значений.
В ELSE я вставил цикл FOR .. DO и если условие не выполняется он выводит несколько значений - это правильно.
Но если условие выполняется - не получается вставить цикл, он ругается на выделенную строку (Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 18, column 3.
END.)
Что делать?
...
Рейтинг: 0 / 0
01.12.2015, 03:50
    #39116908
Цикл в условии
как-то так
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
create or alter procedure NEW_PROCEDURE (
    T_ID integer)
returns (
    ID integer,
    NAME varchar(30))
as
begin
  if (T_ID = -1) then
  begin
    for SELECT ...
      FROM ...
      WHERE ...
      INTO :ID, NAME
    do
      suspend;
  end
  else
  begin
    for SELECT ...
      FROM ...
      WHERE ...
      INTO :ID, NAME
    do
      suspend;
  end
end
...
Рейтинг: 0 / 0
01.12.2015, 03:55
    #39116909
Цикл в условии
За копирование текста процедуры картинкой я бы расстрелял об стену перед строем. ДваТри раза.
...
Рейтинг: 0 / 0
01.12.2015, 07:37
    #39116937
Цикл в условии
все дело в пузырьках..., ошибочка очепятка.
Код: sql
1.
      INTO :ID, NAME

читать как
Код: sql
1.
      INTO :ID, :NAME

в обеих строках процедуры.
...
Рейтинг: 0 / 0
01.12.2015, 08:36
    #39116962
__Avenger__
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл в условии
B0nG,
Код: sql
1.
AND :EQ_T_ID IN (-1, EQ.EQ_TYPE)
...
Рейтинг: 0 / 0
01.12.2015, 10:53
    #39117069
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл в условии
все дело в пузырьках...очепятка.не критическая, работать будет и так и эдак. Хотя для единообразия пишу с двоеточиями.
...
Рейтинг: 0 / 0
01.12.2015, 10:57
    #39117078
S.G.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Цикл в условии
B0nGЛюди, помогите Я бы начал с переделки запросов на явные джойны. (Хотя это и не связано с вопросом) .
А уж потом, понемногу, добрался бы до правильного синтаксиса for select.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Цикл в условии / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]