Глава 46. PL/pgSQL — процедурный язык SQL

Содержание

46.1. Обзор
46.1.1. Преимущества использования PL/pgSQL
46.1.2. Поддерживаемые типы данных аргументов и возвращаемых значений
46.2. Структура PL/pgSQL
46.3. Объявления
46.3.1. Объявление параметров функции
46.3.2. ALIAS
46.3.3. Наследование типов данных
46.3.4. Типы кортежей
46.3.5. Тип record
46.3.6. Упорядочение переменных PL/pgSQL
46.4. Выражения
46.5. Основные операторы
46.5.1. Присваивания
46.5.2. Выполнение команд SQL
46.5.3. Выполнение команды, возвращающей одну строку
46.5.4. Выполнение динамически формируемых команд
46.5.5. Статус выполнения команды
46.5.6. Не делать ничего
46.6. Управляющие структуры
46.6.1. Команды, возвращающие значения из функции
46.6.2. Завершение процедуры
46.6.3. Вызов процедуры
46.6.4. Условные операторы
46.6.5. Простые циклы
46.6.6. Цикл по результатам запроса
46.6.7. Цикл по элементам массива
46.6.8. Обработка ошибок
46.6.9. Получение информации о месте выполнения
46.7. Курсоры
46.7.1. Объявление курсорных переменных
46.7.2. Открытие курсора
46.7.3. Использование курсоров
46.7.4. Обработка курсора в цикле
46.8. Управление транзакциями
46.9. Сообщения и ошибки
46.9.1. Вывод сообщений и ошибок
46.9.2. Проверка утверждений
46.10. Триггерные функции
46.10.1. Триггеры при изменении данных
46.10.2. Триггеры событий
46.11. Пакеты
46.12. PL/pgSQL изнутри
46.12.1. Подстановка переменных
46.12.2. Кеширование плана
46.13. Советы по разработке на PL/pgSQL
46.13.1. Обработка кавычек
46.13.2. Дополнительные проверки во время компиляции и во время выполнения
46.14. Портирование из Oracle PL/SQL
46.14.1. Примеры портирования
46.14.2. На что ещё обратить внимание
46.14.3. Приложение