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

Можно ли в Firebird использовать циклы по переменной

Добавлено: 25 дек 2006, 02:16
break
Можно ли каким то образом использовать в хранимой процедуре циклы по переменным
что-то аналогичное вот этому:

Код: Выделить всё

create procedure test
as
declare variable i integer;
begin

  i = 0;
  while :i < 5 do
    begin
      insert into OBJECTS(level_count)
                   values(1);
      i = i + 1;
    end

  suspend;
end
Если нет то как обойти ситуацию??

Добавлено: 25 дек 2006, 07:50
Dimitry Sibiryakov
А что не получается? SUSPEND убери.

Добавлено: 25 дек 2006, 10:02
break
Использую FB 1.5 - вообще отказывается компилить процедуру - ругается на переменную I

Добавлено: 25 дек 2006, 10:09
CyberMax
Условия всегда заключаются в скобки (за исключением проверки INSERTING, UPDATING и DELETING).
Вместо:

Код: Выделить всё

while :i < 5 do
надо:

Код: Выделить всё

while (i < 5) do

Добавлено: 29 дек 2006, 15:41
break
Огромное спасибо! Все работает!

Кстати если не трудно дайте ссылочку где можно прочитать про упомянутые (INSERTING, UPDATING и DELETING) - никогда не использовал эти операторы!

Добавлено: 29 дек 2006, 15:50
WildSery
C:\Program Files\Firebird\Firebird_2_0\doc\Firebird_v1.5.3.ReleaseNotes.pdf