1. Введение
Программные конструкции PL/SQL.
Описание схемы HR (Human Resources), используемой в курсе.
Работа в Oracle SQL Developer.
Редактирование и выполнение анонимного блока в SQL Developer.
Сохранение и выполнение SQL-скриптов.
Ссылки на дополнительные ресурсы.
2. Создание процедур
Описание использования процедур.
Создание процедур.
Создание процедур с параметрами.
Вызов процедуры.
Обработка исключений.
Удаление процедуры.
3. Создание функций
Описание использования функций.
Создание функций.
Вызов функции.
Функции в SQL-командах.
Удаление функции.
Различия между процедурами и функциями.
4. Создание пакетов
Описание пакетов и перечисление их компонент.
Спецификация и тело пакета.
Создание пакетов, задание частных и общедоступных конструкций.
Вызов пакетных объектов.
Удаление пакетов.
5. Дополнительные особенности работы с пакетами
Перегрузка пакетных процедур и функций.
Как избежать ошибок при взаимных ссылках подпрограмм.
Инициализация переменных в процедуре, выполняемой только один раз.
Использование пакетных функций в SQL.
Сохранение состояния пакетных переменных, курсоров, таблиц и записей.
Использование PL/SQL-таблиц записей в пакетах.
6. Использование некоторых стандартных пакетов Oracle (для ввода-вывода)
Обзор стандартных пакетов Oracle.
Пакет DBMS_OUTPUT.
Пакет UTL_FILE.
Пакет UTL_MAIL.
Пакет DBMS_SCHEDULER.
Пакет DBMS_METADATA.
Пакет DBMS_LOB.
7. Динамический SQL
Этапы выполнения SQL-предложения.
Выполнение динамических SQL-предложений с использованием EXECUTE IMMEDIATE.
Выполнение динамических SQL -предложений с использованием пакета DBMS_SQL.
8. Дизайн кода PL/SQL
Создание в пакетах констант и исключений.
Локальные подпрограммы.
Права создателя и вызывающего хранимую процедуру.
Использование подсказки NOCOPY для программных параметров.
Автономные транзакции.
Использование клаузы DETERMINISTIC.
Использование коллекций для массовых операций.
9. Создание триггеров базы данных
Описание различных типов триггеров.
Определение триггеров базы данных и их использование.
Создание триггеров баз данных.
Строковые и операторные триггеры на таблицах.
Триггеры на представления, INSTEAD OF.
Правила срабатывания триггеров базы данных.
Удаление триггеров базы данных.
10. Триггеры на DDL-предложения и на события в базе данных
Создание триггеров на DDL-предложения.
Триггеры, срабатывающие по системным событиям в базе данных.
Ограничения на триггеры базы данных.
Триггеры LOGON и LOGOFF.
Предложение CALL в триггере.
Рекомендации по конструированию триггеров.
11. Использование PL/SQL-компилятора
Инициализационные параметры для PL/SQL-компиляции.
Предупреждения времени компиляции.
Пакет DBMS_WARNING.
Предупреждающее сообщение PLW 06009.
12. Управление кодом PL/SQL
Параметр настройки PLSQL_CCFLAGS.
Пакет DBMS_DB_VERSION.
Условная компиляция.
Сокрытие кода (Obfuscation).
Утилита свертки.
Пакет DBMS_DDL.
13. Отслеживание зависимостей
Обзор объектных зависимостей.
Процедурные зависимости в представлениях словаря данных.
Оценка влияния изменений объектов БД на хранимые процедуры.
Использование представлений USER_DEPENDENCIES и DEPTREE.
Управление локальными и удаленными зависимостями.
Установка значения инициализационного параметра REMOTE_DEPENDENCIES_MODE.