Лабораторные работы по курсу «Базы данных»


END: ' LANGUAGE 'plpgsql'



Pdf көрінісі
бет40/46
Дата12.05.2023
өлшемі0,79 Mb.
#92097
түріПрактикум
1   ...   36   37   38   39   40   41   42   43   ...   46
END:
' LANGUAGE 'plpgsql'; 
Передача управления 
Команды передачи управления существуют практически во всех 
современных языках программирования, и PL/pgSQL не является 
исключением. С технической точки зрения сам вызов функции можно 
рассматривать как передачу управления последовательности команд 
PL/pgSQL. Тем не менее существуют и другие, более совершенные средства, 
определяющие последовательность выполнения команд PL/pgSQL. Здесь 
речь пойдет об условных командах IF/THEN и циклах. 
Команда IF/THEN/ELSE задает команду (или блок команд), 
выполняемых в случае истинности некоторого условия. Синтаксис команды 
IF/THEN/ELSE: 
CREATE FUNCTION функция (.аргументы) RETURNS тип AS '
DECLARE
объявления
BEGIN
IF условие THEN
Команда;
[...]
 
 
 
[ELSE 
Команда;
[...]
]END 
IF; 
 
END:
LANGUAGE 'plpgsql': 


Квадратные скобки, обрамляющие секцию ELSE, означают, что эта 
секция может быть опущена. 
Циклы 
Самый простой вид цикла, используемого в PL/pgSQL, – безусловный. 
Его синтаксис: 
LOOP
команда ;
[...]
END LOOP; 
Для выхода из цикла служит команда EXIT. Она также может 
содержать метку или условие заверешения: 
[ «метка» ]
LOOP
команда;
[...]
EXIT [ метка ] [ WHEN условие ];
END LOOP; 
Цикл WHILE выполняет блок команд до тех пор, пока заданное 
условие не станет ложным. Синтаксис использования следующий: 
[ «метка» ]
WHILE условие LOOP
команда;
[...]
END LOOP; 
Перейдем к рассмотрению циклов FOR. Возможно, циклы FOR — 
самая важная разновидность циклов, реализованных в PL/pgSQL. Цикл FOR 
выполняет программный блок для целых чисел из заданного интервала. Ниже 
будет описан синтаксис цикла FOR. 
[ «метка» ]
FOR переменная IN [ REVERSE ] выражение1 .. выражение2 LOOP
команда;
END LOOP: 
Цикл FOR выполняет одну итерацию для каждого значения 
переменной переменная в интервале, границы которого определяются 
выражениями выражение1 и выражение2 (включительно). Управляющую 
переменную цикла не обязательно объявлять вне блока FOR, если вы не 
собираетесь работать с ней после завершения цикла. 
Циклы FOR также могут использоваться для перебора результатов 
запросов – ниже представлен соответствующий пример 7.4. Обратите 
внимание, что в примере используются не двойные кавычки, а дважды 
одинарные, как способ экранирования, т.к. тело функции само заключено в 
одинарные кавычки.




Достарыңызбен бөлісу:
1   ...   36   37   38   39   40   41   42   43   ...   46




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет