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

Содержание

39.1. Обзор
39.1.1. Преимущества использования PL/pgSQL
39.1.2. Поддерживаемые типы данных аргументов и возвращаемых значений
39.2. Структура PL/pgSQL
39.3. Объявления
39.3.1. Объявление параметров функции
39.3.2. ALIAS
39.3.3. Наследование типов данных
39.3.4. Типы кортежей
39.3.5. Тип record
39.3.6. Упорядочение переменных PL/pgSQL
39.4. Выражения
39.5. Основные операторы
39.5.1. Присваивания
39.5.2. Выполнение команды, не возвращающей результат
39.5.3. Выполнение запроса, возвращающего одну строку
39.5.4. Выполнение динамически формируемых команд
39.5.5. Статус выполнения команды
39.5.6. Не делать ничего
39.6. Управляющие структуры
39.6.1. Команды для возврата значения из функции
39.6.2. Условные операторы
39.6.3. Простые циклы
39.6.4. Цикл по результатам запроса
39.6.5. Цикл по элементам массива
39.6.6. Обработка ошибок
39.6.7. Получение информации о месте выполнения
39.7. Курсоры
39.7.1. Объявление курсорных переменных
39.7.2. Открытие курсора
39.7.3. Использование курсоров
39.7.4. Обработка курсора в цикле
39.8. Сообщения и ошибки
39.8.1. Вывод сообщений и ошибок
39.8.2. Проверка утверждений
39.9. Триггерные процедуры
39.9.1. Триггеры при изменении данных
39.9.2. Триггеры событий
39.10. PL/pgSQL изнутри
39.10.1. Подстановка переменных
39.10.2. Кеширование плана
39.11. Советы по разработке на PL/pgSQL
39.11.1. Обработка кавычек
39.11.2. Дополнительные проверки во время компиляции
39.12. Портирование из Oracle PL/SQL
39.12.1. Примеры портирования
39.12.2. На что ещё обратить внимание
39.12.3. Приложение