Фоновый баннер

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

Отзывы по курсу