Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML. Токмаков Г.П. - 138 стр.

UptoLike

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

138
цикл
FOR, подходящий для широкого круга задач программирования, хотя и
другие циклы также достаточно часто встречаются на практике.
Безусловный цикл
Ключевое слово
LOOP начинает простейший безусловный цикл. Команды
безусловного цикла выполняются до тех пор, пока не будет достигнуто ключе-
вое слово
EXIT. За ключевым словом EXIT может следовать секция WHEN с выра-
жением, определяющим условие выхода. Выражение должно относиться к ло-
гическому типу. Например, оно может проверять, достигла ли переменная не-
которой величины. Ниже приведен синтаксис безусловного цикла (без ключе-
вого слова
LOOP):
LOOP
команда;
[...]
ENDLOOP;
Команда EXIT завершает работу безусловного цикла и может дополнитель-
но содержать метку и/или условие завершения.
Метка представляет собой произвольный идентификатор, заключенный
между «префиксом и суффиксом». Чтобы назначить метку циклу, следует рас-
положить ее непосредственно перед началом цикла. Синтаксис определения
цикла с меткой:
«метка»
LOOP
[...]
ENDLOOP;
Назначение метки циклу позволяет указать нужный цикл при выходе из не-
скольких вложенных циклов (команда
EXIT с меткой работает лишь в том слу-
чае, если завершаемому циклу была присвоена соответствующая метка).
Если команда
EXIT содержит условие, цикл прерывается только в том слу-
чае, если это условие истинно.
Синтаксис вызова
EXIT в цикле LOOP:
[«метка»]
LOOP
statement;
[...]
EXIT[метка][WHENусловие];
ENDLOOP;
В листинге 6.35 приведен пример безусловного цикла и команды EXIT, за-
вершающей цикл при выполнении некоторого условия. Функция
square_integer_loop() возводит целое число в квадрат (умножает его само на
себя) до тех пор, пока его значение не превысит
10 000, после чего возвращает
полученный результат.
Листинг 6.35. Использование безусловного цикла
CREATEFUNCTIONsquare_integer_loop(integer)RETURNSintegerAS'
DECLARE
‐‐Объявлениепсевдонимадляаргумента,
numlALIASFOR$1;