Глава 41. PL/pgSQL — SQL Процедурный Язык#

Глава 41. PL/pgSQL — SQL Процедурный Язык

Глава 41. PL/pgSQLSQL Процедурный Язык

Оглавление

41.1. Обзор
41.1.1. Преимущества использования PL/pgSQL
41.1.2. Поддерживаемые типы данных аргументов и результатов
41.2. Структура PL/pgSQL
41.3. Объявления
41.3.1. Объявление параметров функции
41.3.2. ALIAS
41.3.3. Копирование типов
41.3.4. Типы строк
41.3.5. Типы записей
41.3.6. Сортировка переменных PL/pgSQL приложения
41.4. Выражения
41.5. Основные операторы
41.5.1. Назначение
41.5.2. Выполнение SQL-команд
41.5.3. Выполнение команды с результатом, содержащим одну строку
41.5.4. Выполнение динамических команд
41.5.5. Получение статуса результата
41.5.6. Ничего не делать вообще
41.6. Структуры управления
41.6.1. Возвращение из функции
41.6.2. Возвращение из процедуры
41.6.3. Вызов процедуры
41.6.4. Условия
41.6.5. Простые циклы
41.6.6. Циклический проход по результатам запроса
41.6.7. Цикл по массивам
41.6.8. Перехват ошибок
41.6.9. Получение информации о месте выполнения
41.7. Курсоры
41.7.1. Объявление переменных курсора
41.7.2. Открытие курсоров
41.7.3. Использование курсоров
41.7.4. Циклический проход по результатам курсора
41.8. Управление транзакциями
41.9. Ошибки и сообщения
41.9.1. Сообщения об ошибках и сообщения
41.9.2. Проверка утверждений
41.10. Функции триггеров
41.10.1. Триггеры на изменение данных
41.10.2. Триггеры на события
41.11. PL/pgSQL под капотом
41.11.1. Подстановка переменных
41.11.2. Кеширование плана
41.12. Советы по разработке в PL/pgSQL
41.12.1. Обработка кавычек
41.12.2. Дополнительные проверки времени компиляции и времени выполнения
41.13. Перенос из PL/SQL Oracle
41.13.1. Примеры портирования
41.13.2. Другие вещи, на которые следует обратить внимание
41.13.3. Приложение