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