Курс предназначен для разработчиков с базовыми знаниями SQL и PL/SQL. Прослушав курс, слушатели научатся разрабатывать, выполнять и сопровождать хранимые программные единицы PL/SQL: процедуры, функции, пакеты и триггеры базы данных.
После успешного прохождения курса слушатели должны будут уметь:
- Создавать и выполнять хранимые процедуры и функции
- Разрабатывать и использовать пакеты PL/SQL
- Использовать перегруженные пакетные подпрограммы для большей гибкости кода
- Применять в разработке приложений пакеты, поставляемые Oracle
- Создавать триггеры для реализации сложных бизнес-правил
- Строить и выполнять команды SQL динамически
- Сопровождать подпрограммы и триггеры PL/SQL
- Воздействовать на компилятор PL/SQL
- Сопровождать зависимости
Необходимая предварительная подготовка:
- Базовые знания PL/SQL
- Oracle 12c: Основы SQL
- Oracle 12с: Основы PL/SQL
- Опыт программирования
- Технический английский язык
Аудитория курса:
Разработчики приложений
Администраторы баз данных
Разработчики PL/SQL
Специалисты отделов технической поддержки
Разработчики форм
Системные аналитики
Все материалы по курсу предоставляются вендором на английском языке.
Введение
Цели курса и план. Обзор учебной схемы курса - Персонал (HR). Обзор документации Oracle Database 12c по SQL, и PL/SQL и дополнительным материалам. Инструменты разработки, используемые в курсе. Использование SQL Worksheet. Выполнение команд SQL. Работа с файлами сценариев. Создание и выполнение анонимных блоков.
Создание хранимых процедур
Блоки PL/SQL и подпрограммы. Использование и достоинства процедур. Создание, вызов и удаление процедур. Использование формальных и актуальных параметров. Различные режимы передачи параметров. Передача параметров при помощи позиционного, именованного или комбинированного метода. Обработка исключений в процедурах. Просмотр информации о процедурах.
Создание хранимых функций и отладка подпрограмм
Разница между процедурами и функциями. Разработка функций. Создание, выполнение и удаление функций. Преимущества использования хранимых функций в SQL. Использование пользовательских функций в SQL. Использование функции PL/SQL в конструкции WITH. Ограничения на вызов функций из SQL.
Создание пакетов
Пакеты PL/SQL. Компоненты пакета PL/SQL. Область видимости компонент пакета PL/SQL. Разработка пакета PL/SQL. Создание спецификации и тела пакета. Вызов пакетных конструкций. Создание и использование пакета без тела. Удаление пакета.
Работа с пакетами
Перегрузка пакетных подпрограмм в PL/SQL. Использование предварительного объявления для разрешения ссылок на еще не описанные программные единицы. Инициализация пакетов. Ограничения на использование пакетных функций в SQL. Контроль побочных эффектов в подпрограммах PL/SQL. Постоянное состояние пакетов. Постоянное состояние пакетных переменных и курсоров. Использование в пакетах таблиц типа данных RECORD.
Использование в разработке приложений пакетов, поставляемых Oracle
Обзор пакетов, поставляемых Oracle. Примеры некоторых стандартных пакетов. Как работает пакет DBMS_OUTPUT? Использование пакета UTL_FILE для работы с файлами операционной системы. Использование пакета UTL_MAIL.
Динамический SQL
Этапы выполнения команды SQL. Что такое динамический SQL? Зачем нужен динамический SQL? Использование родного динамического SQL (NDS) для компиляции кода PL/SQL. Определение переменных в курсоре. Динамическое выполнение блока PL/SQL.
Рекомендации по дизайну кода PL/SQL
Стандартизация констант в пакете с константами. Стандартизация исключений в пакете с исключениями. Использование локальных подпрограмм в коде PL/SQL. Выдача ролей на пакеты и хранимые процедуры. Использование подсказки компилятору NOCOPY для передачи параметра по ссылке. Применение подсказки компилятору PARALLEL_ENABLE для оптимизации кода. Использование подсказки компилятору AUTONOMOUS_TRANSACTION для запуска независимых транзакций внутри одной транзакции. Разница между правами вызывающего и правами владельца.
Создание триггеров базы данных
Описание различных видов триггеров. Работа с триггерами. Создание триггеров базы данных. Описание правил срабатывания триггеров. Удаление триггеров.
Создание комбинированных (COMPOUND) триггеров, DDL-триггеров и триггеров, срабатывающих по системным событиям базы данных
Работа с комбинированными триггерами. Изменяющиеся таблицы и триггеры. Создание триггеров, срабатывающих на команды DDL. Создание триггеров, срабатывающих на системные события. Получение информации о триггерах.
Использование компилятора PL/SQL
Использование компилятора PL/SQL. Параметры инициализации, влияющие на компиляцию кода PL/SQL. Категории предупреждений компилятора. Просмотр текущих значений параметра инициализации PLSQL_WARNINGS. Просмотр предупреждений компилятора при помощи SQL Developer, SQL*Plus или представлений словаря данных. Рекомендации по использованию PLSQL_WARNINGS.
Сопровождение зависимостей
Обзор зависимостей между объектами. Отслеживание зависимостей между объектами при помощи представлений словаря данных. Определение эффекта, оказываемого на процедуры и функции, от изменения объекта базы данных. Локальные и удаленные зависимости.