Целью реализации программы (учебного модуля) «PSQL-01. Основы PL/pgSQL» является формирование у слушателей специальных знаний и компетенций, необходимых для разработки программных модулей в базах данных PostgreSQL на основе использования языков SQL и PL/pgSQL.
Знания и умения, полученные в результате изучения
В результате освоения модуля обучающийся должен уметь:
• использовать различные типы данных и функции в запросах SQL и PL/pgSQL;
• создавать функции и триггера на языке PL/pgSQL;
• конструировать код запросов динамически из кода приложения;
• работать с курсорами;
• работать с массивами;
• настраивать триггеры, проводить перехват ошибок в исполняемом коде.
В результате освоения модуля обучающийся должен знать:
• преимущества использования PL/pgSQL;
• основы языка PL/pgSQL;
• встроенные функции PostgreSQL;
• поддерживаемые типы данных аргументов и возвращаемых значений.
В результате освоения модуля обучающийся должен приобрести практический опыт:
• использования различных типов данных и функций в запросах SQL и PL/pgSQL;
• разработки и отладки блоков кода на языке PL/pgSQL.
Тема 1. Основы языка PL/pgSQL
1.1 PL/pgSQL — процедурный язык SQL
Введение в язык PL/pgSQL.
Общие сведения о процедурных языках.
Работа с переменными и выражениями.
Основные операторы.
1.2 Управляющие структуры
Блоки и их структура.
Условные операторы.
Простые циклы.
Цикл по результатам запроса
1.3 Пользовательские функции
Использование функций в PL/pgSQL.
Создание пользовательских функций.
Объявление параметров функции.
Практические занятия
Написание функций в PL/pgSQL
Тема 2. Работа с запросами SQL в PL/pgSQL
2.1 SQL-операторы и выражения внутри функции на PL/pgSQL
Выполнение инструкций SQL.
Подстановка переменных.
Использование табличных функций.
Практические занятия
Использование запросов в блоках PL/pgSQL
Тема 3. Использование курсоров в PL/pgSQL
3.1 Введение в курсоры
Общие сведения о курсорах.
Объявление курсорных переменных.
Открытие курсора.
3.2 Работа с курсорами
Использование курсоров для обработки данных.
Операции с курсорами.
Обработка курсора в цикле
Практические занятия
Работа с курсорами
Тема 4. Динамическое построение запросов
4.1 Динамические запросы
Назначение и возможности динамических запросов.
Выполнение динамического запроса.
Конструкции динамических запросов
Практические занятия
Динамические запросы
Тема 5. Работа с массивами
5.1 Работа с массивами
Общие сведения о массивах.
Использование функций для обработки массивов.
Работа с массивами средствами PL/pgSQL.
Цикл по элементам массива
Практические занятия
Работа с массивами
Тема 6. Исключения: перехват ошибок
6.1 Сообщения и ошибки
Необходимость работы с исключениями.
Вывод сообщений и ошибок.
Перехват ошибок.
Журналирование ошибок.
Уровни обработки ошибок
Практические занятия
Работа с исключениями
Тема 7. Использование триггеров
7.1 Триггеры при изменении данных
Общие сведения о триггерах.
Функции-обработчики триггеров.