Основы языка PL/SQL. Гаршина В.В - 24 стр.

UptoLike

Составители: 

24
PL/SQL предоставляет несколько путей организации циклов для по-
вторного выполнения предложений.
Простой циклэто группа повторно выполняемых операторов, огра-
ниченных операторами LOOP и END LOOP. Каждый раз, как поток управ-
ления достигает предложения END LOOP, управление передается LOOP.
Чтобы цикл сделать конечным, добавляют оператор EXIT. Синтаксис тако-
го цикла:
LOOP
operator1;
operator2;
. . .
EXIT [WHEN condition];
END LOOP;
где operator1, operator2 – операторы PL/SQL, condition – условие
выхода.
Пример использования такой конструкции:
LOOP
INSERT INTO s_item (ord_id,item_id)
VALUES (v_ord_id, v_counter);
v_counter:=v_counter+1;
EXIT WHEN v_counter>10;
END LOOP;
Цикл FOR имеет такую же структуру, как уже рассмотренные циклы.
Но ключевому слову LOOP предшествует управляющий оператор, кото-
рый задает количество повторов цикла.
FOR index in [REVERSE]
low_val..high_val LOOP
operator1;
operator2;
. . .
END LOOP;
      PL/SQL предоставляет несколько путей организации циклов для по-
вторного выполнения предложений.
      Простой цикл – это группа повторно выполняемых операторов, огра-
ниченных операторами LOOP и END LOOP. Каждый раз, как поток управ-
ления достигает предложения END LOOP, управление передается LOOP.
Чтобы цикл сделать конечным, добавляют оператор EXIT. Синтаксис тако-
го цикла:

     LOOP
       operator1;
       operator2;
        . . .
       EXIT [WHEN condition];
     END LOOP;

где operator1, operator2 – операторы PL/SQL, condition – условие выхода.
Пример использования такой конструкции:

     LOOP
       INSERT INTO s_item (ord_id,item_id)
          VALUES (v_ord_id, v_counter);
       v_counter:=v_counter+1;
       EXIT WHEN v_counter>10;
     END LOOP;

     Цикл FOR имеет такую же структуру, как уже рассмотренные циклы.
Но ключевому слову LOOP предшествует управляющий оператор, кото-
рый задает количество повторов цикла.

     FOR index in [REVERSE]
       low_val..high_val LOOP
     operator1;
     operator2;
     . . .
     END LOOP;


                                     24