Модуль 1. Введение
- Задачи курса
- Программа курса
- Обзор учебной схемы курса - Персонал (HR)
- Инструменты разработки, используемые в курсе
- Введение в SQL Developer
Модуль 2. Введение в PL/SQL
- Обзор PL/SQL
- Преимущества и структура PL/SQL
- Обзор типов блоков PL/SQL
- Создание простого неименованного блока PL/SQL
- Генерация вывода из блоков PL/SQL
Модуль 3. Объявление идентификаторов в PL/SQL
- Различные типы идентификаторов в подпрограммах PL/SQL
- Описание и инициализация переменных
- Описание скалярных типов данных
- Атрибут %TYPE
- Связанные (bind) переменные
- Использование последовательностей в выражениях PL/SQL
Модуль 4. Исполняемые операторы
- Лексические единицы в блоке PL/SQL
- Комментарии в коде
- Функции SQL в PL/SQL
- Преобразование типов данных
- Вложенные блоки как выражения
- Операторы в PL/SQL
Модуль 5. Взаимодействие с сервером Oracle
- Использование операторов SELECT в PL/SQL
- Извлечение данных в PL/SQL при помощи оператора SELECT
- Концепции SQL-курсоров
- Соглашения об именовании при извлечении данных и работе с операторами DML
- Изменение данных на сервере при помощи PL/SQL
- Концепции SQL-курсоров
- Атрибуты SQL-курсоров для обратной связи с операторами DML
- Фиксация и откат транзакций
Модуль 6. Управляющие структуры
- Условное управление с использованием операторов IF
- Условное управление с использованием операторов CASE
- Описание простого выражения Loop
- Описание выражения While Loop
- Описание выражения For Loop
- Контроль итераций в циклах
Модуль 7. Работа с составными типами данных
- Записи PL/SQL
- Атрибут %ROWTYPE
- Вставка и обновление при помощи записей PL/SQL
- Ассоциативные массивы INDEX BY
- Методы работы с ассоциативными массивами INDEX BY
- Ассоциативные массивы записей
Модуль 8. Использование явных курсоров
- Определение курсора
- Открытие курсора
- Извлечение данных из курсора
- Закрытие курсора
- Курсорные циклы FOR с подзапросами
- Атрибуты %NOTFOUND и %ROWCOUNT
- Описание атрибутов FOR UPDATE и WHERE CURRENT
Модуль 9. Обработка исключений
- Определение исключений
- Обработка исключений в PL/SQL
- Перехват предопределённых исключений сервера Oracle
- Перехват непредопределенных исключений сервера Oracle
- Перехват исключений, определяемых пользователями
- Распространение исключений
- Процедура RAISE_APPLICATION_ERROR
Модуль 10. Создание хранимых процедур
- Модульная разработка при помощи блоков PL/SQL
- Среда выполнения PL/SQL
- Преимущества использования подпрограмм PL/SQL
- Различие между анонимными блоками и подпрограммами
- Создание, вызов и удаление процедур
- Параметры процедур и различные режимы передачи параметров
- Просмотр информации о процедурах
Модуль 11. Создание хранимых функций и отладка подпрограмм
- Создание, выполнение и удаление функций
- Преимущества использования хранимых функций в SQL
- Этапы создания хранимой функции
- Использование пользовательских функций в SQL
- Ограничения на вызов функций из SQL
- Побочные эффекты при вызове функций
- Просмотр информации о функциях
- Отладка процедур и функций
Модуль 12. Создание пакетов
- Преимущества использования пакетов
- Пакеты PL/SQL
- Компоненты пакета
- Разработка пакета PL/SQL
- Область видимости компонент пакета PL/SQL
- Создание спецификации и тела пакета при помощи команд SQL и SQL Developer
- Вызов пакетных конструкций
- Просмотр исходного кода при помощи представлений словаря данных
Модуль 13. Работа с пакетами
- Перегрузка пакетных подпрограмм в PL/SQL
- Использование пакета STANDARD
- Использование предварительного определения для решения проблемы со ссылками на неопределенные процедуры
- Ограничения использования пакетных функций в SQL
- Постоянное состояние пакетов
- Постоянное состояние пакетных переменных и курсоров
- Побочные эффекты в подпрограммах PL/SQL
- Использование таблиц типа данных RECORD в пакетах
Модуль 14. Использование пакетов, поставляемых Oracle, в разработке приложений
- Обзор пакетов, поставляемых Oracle
- Примеры некоторых стандартных пакетов
- Как работает пакет DBMS_OUTPUT?
- Использование пакета UTL_FILE для работы с файлами операционной системы
- Использование пакета UTL_MAIL
Модуль 15. Динамический SQL
- Этапы выполнения команды SQL
- Что такое динамический SQL?
- Определение переменных в курсоре
- Динамическое выполнение блока PL/SQL
- Использование родного динамического SQL (NDS) для компиляции кода PL/SQL
- Вызов пакета DBMS_SQL
- DBMS_SQL и параметризованный DML
- Функциональная полнота динамического SQL
Модуль 16. Рекомендации по дизайну кода PL/SQL
- Стандартизация констант и исключений
- Использование локальных подпрограмм в коде PL/SQL
- Автономные транзакции
- Использование подсказки компилятору NOCOPY для передачи параметра по ссылке
- Применение подсказки компилятору PARALLEL_ENABLE для оптимизации
- Кэш результатов функций PL/SQL
- Фраза DETERMINISTIC для функций
- Использование пакетного связывания для улучшения производительности
Модуль 17. Создание триггеров базы данных
- Описание различных видов триггеров
- Описание различных видов триггеров
- Сценарии использования триггеров
- Создание триггеров при помощи команды CREATE TRIGGER и SQL Developer
- Типы событий триггера и срабатывание триггера
- Различия между триггером уровня команды и строчным триггером
- Создание замещающих (INSTEAD OF) и отключенных триггеров
- Управление, тестирование и удаление триггеров
Модуль 18. Создание комбинированных (COMPOUND) триггеров, DDL-триггеров и триггеров, срабатывающих по системным событиям базы данных
- Работа с комбинированными триггерами
- Срабатывание комбинированных триггеров
- Структура комбинированных триггеров для таблиц и представлений
- Применение комбинированных триггеров для исправления ошибок, связанных с изменяющимися таблицами
- Сравнение триггеров, срабатывающих на события базы данных, и хранимых процедур
- Создание триггеров, срабатывающих на команды DDL
- Создание триггеров, срабатывающих на системные события и события базы данных
- Системные привилегии, необходимые для управления триггерами
Модуль 19. Использование компилятора PL/SQL
- Использование компилятора PL/SQL
- Параметры инициализации, влияющие на компиляцию кода PL/SQL
- Новые категории предупреждений компилятора
- Категории предупреждений компилятора для подпрограмм
- Преимущества использования предупреждений компилятора
- Категории предупреждений компилятора
- Установка уровня предупреждений компилятора при помощи SQL Developer, параметра инициализации PLSQL_WARNINGS и пакета DBMS_WARNING
- Просмотр предупреждений компилятора при помощи SQL Developer, SQL*Plus или представлений словаря данных
Модуль 20. Сопровождение зависимостей
- Обзор зависимостей между объектами
- Отслеживание зависимостей между объектами при помощи представления словаря данных USER_DEPENDENCIES
- Просмотр статуса объекта
- Определение эффекта от изменения объекта базы данных на процедуры и функции
- Отображение локальных и удаленных зависимостей
- Упрощенное сопровождение зависимостей в Oracle Database 12c
- Локальные и удаленные зависимости
- Перекомпиляция программных единиц PL/SQL