Oracle Database 12c: Program with PL/SQL
Подробнее о курсе
Краткое описание курса
Курс предназначен для разработчиков с базовыми знаниями SQL. Прослушав курс, слушатели научатся создавать анонимные блоки PL/SQL, объявлять переменные, обрабатывать исключения, разрабатывать, выполнять и сопровождать хранимые программные единицы PL/SQL: процедуры, функции, пакеты и триггеры базы данных
Целевая аудитория курса
- Разработчики порталов
- Администраторы баз данных
- Разработчики форм
- Системные аналитики
- Разработчики
- Технические консультанты
- Разработчики приложений
- Разработчики PL/SQL
Получаемые знания и навыки
По окончании курса слушатели научатся
- Создавать анонимные блоки PL/SQL
- Использовать код PL/SQL как интерфейс к базе данных
- Использовать программные конструкции PL/SQL и контроль потока операций (циклы, управляющие структуры и явные курсоры)
- Обрабатывать ошибки на стадии исполнения
- Создавать и выполнять хранимые процедуры и функции
- Разрабатывать и использовать пакеты PL/SQL
- Использовать перегруженные пакетные подпрограммы для большей гибкости кода
- Применять пакеты, поставляемые Oracle, в разработке приложений
- Создавать триггеры для решения сложных бизнес-правил
- Строить и выполнять команды SQL динамически
- Сопровождать подпрограммы и триггеры PL/SQL
- Воздействовать на компилятор PL/SQL
- Сопровождать зависимости
Предварительно рекомендуется прослушать курс(ы)
Краткое содержание курса
Модуль 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