Учебник по PL / pgSQL
Вступление
PL / pgSQL (процедурный язык / PostgreSQL) - это загружаемый процедурный язык программирования, поддерживаемый PostgreSQL. PL / pgSQL, как полнофункциональный язык программирования, обеспечивает гораздо больший процедурный контроль, чем SQL, включая возможность использования циклов и других структур управления. Функции, созданные на языке PL / pgSQL, можно вызывать из оператора SQL или как действие, которое выполняет триггер.
Версия: 9.3
Следующие списки показывают возможности PL / pgSQL:
- Это простой в использовании.
- Может использоваться для создания функций и запуска процедур.
- Добавляет управляющие структуры в язык SQL .
- Может выполнять сложные вычисления.
- Наследует все пользовательские типы, функции и операторы.
- Может быть определен как доверенный сервером.
Преимущества использования PL / pgSQL
PostgreSQL и большинство других реляционных баз данных используют SQL в качестве языка запросов. На сервере базы данных каждый оператор SQL выполняется индивидуально, поэтому после отправки запроса дождитесь его обработки, получите и обработайте результат, а затем отправьте дополнительные запросы на сервер. С PL / pgSQL вы можете сгруппировать блок вычислений и серию запросов на сервере базы данных, таким образом обладая мощью процедурного языка и простотой использования SQL, но при этом значительно экономя накладные расходы на связь клиент-сервер.
- Дополнительные обходы между клиентом и сервером исключены.
- Промежуточные результаты, которые не нужны клиенту, не нужно маршалировать или передавать между сервером и клиентом.
- Можно избежать нескольких раундов разбора запроса.
PL / pgSQL: поддерживаемые типы данных аргументов и результатов
- Функции, написанные на PL / pgSQL, могут принимать в качестве аргументов любой скалярный или массив данных, поддерживаемый сервером, и возвращать тот же результат типа данных.
- Кроме того, принимайте или возвращайте любой составной тип (тип строки), указанный именем.
- Функции PL / pgSQL могут быть объявлены для приема переменного числа аргументов с помощью маркера VARIADIC.
- Функции PL / pgSQL также могут быть объявлены для принятия и возврата полиморфных типов любого элемента, любого массива.
- Функции PL / pgSQL также могут быть объявлены так, чтобы они возвращали «набор» (или таблицу) любого типа данных, который может быть возвращен как один экземпляр.
- Функция PL / pgSQL может быть объявлена для возврата void, если она не имеет полезного возвращаемого значения.
Структура PL / pgSQL
PL / pgSQL - это блочно-структурированный язык, и каждый оператор в блоке заканчивается точкой с запятой. Блок, который появляется в другом блоке, должен иметь точку с запятой после END, однако для окончательного END, который завершает тело функции, точка с запятой не требуется. Все ключевые слова нечувствительны к регистру, а идентификаторы неявно преобразуются в строчные, если они не заключены в двойные кавычки, как в обычных командах SQL. См. Следующий синтаксис:
Синтаксис:
[<< ярлык >>] [ОБЪЯВИТЬ декларации] НАЧАТЬ заявления КОНЕЦ;
Метка (необязательная) необходима только в том случае, если вы хотите идентифицировать блок для использования в операторе EXIT или указать имена переменных, объявленных в блоке. Если метка дается после END, она должна совпадать с меткой в начале блока. Комментарии работают в коде PL / pgSQL так же, как и в обычном SQL.
Следующий:
- декларация
- Основные положения
- Управляющие структуры
Предыдущая: ТРИГГЕРС
Далее: Декларация
Новый контент: Composer: менеджер зависимостей для PHP , R программирования