Цикл WHILE

Цикл WHILE выполняет блок команд до тех пор, пока заданное условие не станет ложным. При каждой итерации цикла WHILE условие проверяется перед выполнением первой команды блока, и если условие равно TRUE - блок выполняется. Таким образом, если условие никогда не становится равным FALSE, блок выполняется в бесконечном цикле вплоть до принудительного завершения клиентского процесса. Синтаксис цикла WHILE:

[ «метка» ]

WHILE условие LOOP

команда;

[...]

END LOOP;

В листинге 6.37 циклы WHILE продемонстрированы на примере функции add_two_loop(). Функция увеличивает число на 1 до тех пор, пока не будет достигнуто некоторое пороговое значение. Начальное и конечное значения передаются функции в виде аргументов. Обозначение !=, встречающееся в листинге 6.37, является оператором неравенства. В данном примере условие означает следующее: цикл WHILE продолжает выполняться, пока переменная result не равна переменной high_number. Иначе говоря, цикл WHILE завершается в тот момент, когда переменная result становится равной high_number.

Листинг 6.37. Использование цикла WHILE

CREATE OR REPLACE FUNCTION books.add_two_loop(integer, integer)

RETURNS integer AS

$BODY$

DECLARE

-- Объявление псевдонимов для аргументов.

low_number ALIAS FOR $1;

high_number ALIAS FOR $2;

-- Объявление переменной для хранения результата.

result integer := 0;

BEGIN

-- Увеличивать переменную result на 1 до тех пор,

-- пока она не станет равна high_number.

WHILE result != high_number LOOP

result := result + 1;

END LOOP;

RETURN result;

END;

$BODY$

LANGUAGE 'plpgsql' VOLATILE








Дата добавления: 2015-02-03; просмотров: 720;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.