Oracle Database 12c: Program with PL/SQL

Oracle-logo-430F2F9F33-seeklogo.com

Продолжительность курса — 5 дней

Курс предназначен для разработчиков с базовыми знаниями SQL. Прослушав курс, слушатели научатся создавать анонимные блоки PL/SQL, объявлять переменные, обрабатывать исключения, разрабатывать, выполнять и сопровождать хранимые программные единицы PL/SQL: процедуры, функции, пакеты и триггеры базы данных.

После успешного прохождения курса слушатели должны будут уметь:

  • Создавать анонимные блоки PL/SQL
  • Использовать код PL/SQL как интерфейс к базе данных
  • Использовать программные конструкции PL/SQL и контроль потока операций (циклы, управляющие структуры и явные курсоры)
  • Обрабатывать ошибки на стадии исполнения
  • Создавать и выполнять хранимые процедуры и функции
  • Разрабатывать и использовать пакеты PL/SQL
  • Использовать перегруженные пакетные подпрограммы для большей гибкости кода
  • Применять пакеты, поставляемые Oracle, в разработке приложений
  • Создавать триггеры для решения сложных бизнес-правил
  • Строить и выполнять команды SQL динамически
  • Сопровождать подпрограммы и триггеры PL/SQL
  • Воздействовать на компилятор PL/SQL

Необходимая предварительная подготовка:

  • Oracle Database: Основы SQL или
  • Oracle Database: Основы SQLI + Oracle Database: Основы SQLII

Связанные курсы:

  • Using Java — for PL/SQL and Database Developers
  • Oracle Database: SQL Tuning for Developers
  • Oracle Database 12c: Advanced PL/SQL 

Круг слушателей:

  • Разработчики порталов
  • Администраторы баз данных
  • Разработчики форм
  • Системные аналитики
  • Разработчики
  • Технические консультанты
  • Разработчики приложений
  • Разработчики PL/SQL
Программа курса:
Введение
Задачи курса. Программа курса. Обзор учебной схемы курса — Персонал (HR). Инструменты разработки, используемые в курсе. Введение в SQL Developer.

Введение в PL/SQL
Обзор PL/SQL. Преимущества и структура PL/SQL. Обзор типов блоков PL/SQL. Создание простого неименованного блока PL/SQL. Генерация вывода из блоков PL/SQL.

Объявление идентификаторов в PL/SQL
Различные типы идентификаторов в подпрограммах PL/SQL. Описание и инициализация переменных. Описание скалярных типов данных. Атрибут TYPE. Связанные (bind) переменные. Использование последовательностей в выражениях PL/SQL.

Исполняемые операторы
Лексические единицы в блоке PL/SQL. Комментарии в коде. Функции SQL в PL/SQL. Преобразование типов данных. Вложенные блоки как выражения. Операторы в PL/SQL.

Взаимодействие с сервером Oracle
Использование операторов SELECT в PL/SQL. Извлечение данных в PL/SQL при помощи оператора SELECT. Концепции SQL-курсоров. Соглашения об именовании при извлечении данных и работе с операторами DML. Изменение данных на сервере при помощи PL/SQL. Концепции SQL-курсоров. Атрибуты SQL-курсоров для обратной связи с операторами DML. Фиксация и откат транзакций.

Управляющие структуры
Условное управление с использованием операторов IF. Условное управление с использованием операторов CASE. Описание простого выражения Loop. Описание выражения While Loop. Описание выражения For Loop. Контроль итераций в циклах.

Работа с составными типами данных
Записи PL/SQL. Атрибут %ROWTYPE. Вставка и обновление при помощи записей PL/SQL. Ассоциативные массивы INDEX BY. Методы работы с ассоциативными массивами INDEX BY. Ассоциативные массивы записей.

Использование явных курсоров
Определение курсора. Открытие курсора. Извлечение данных из курсора. Закрытие курсора. Курсорные циклы FOR с подзапросами. Атрибуты %NOTFOUND и %ROWCOUNT. Описание атрибутов FOR UPDATE и WHERE CURRENT.

Обработка исключений
Определение исключений. Обработка исключений в PL/SQL. Перехват предопределённых исключений сервера Oracle. Перехват не предопределенных исключений сервера Oracle. Перехват исключений, определяемых пользователями. Распространение исключений. Процедура RAISE_APPLICATION_ERROR.

Создание хранимых процедур
Модульная разработка при помощи блоков PL/SQL. Среда выполнения PL/SQL. Преимущества использования подпрограмм PL/SQL. Различие между анонимными блоками и подпрограммами. Создание, вызов и удаление процедур. Параметры процедур и различные режимы передачи параметров. Просмотр информации о процедурах.

Создание хранимых функций и отладка подпрограмм
Создание, выполнение и удаление функций. Преимущества использования хранимых функций в SQL. Этапы создания хранимой функции. Использование пользовательских функций в SQL. Ограничения на вызов функций из SQL. Побочные эффекты при вызове функций. Просмотр информации о функциях. Отладка процедур и функций.

Создание пакетов
Преимущества использования пакетов. Пакеты PL/SQL. Компоненты пакета. Разработка пакета PL/SQL. Область видимости компонент пакета PL/SQL. Создание спецификации и тела пакета при помощи команд SQL и SQL Developer. Вызов пакетных конструкций. Просмотр исходного кода при помощи представлений словаря данных.

Работа с пакетами
Перегрузка пакетных подпрограмм в PL/SQL. Использование пакета STANDARD. Использование предварительного определения для решения проблемы со ссылками на неопределенные процедуры. Ограничения использования пакетных функций в SQL. Постоянное состояние пакетов. Постоянное состояние пакетных переменных и курсоров. Побочные эффекты в подпрограммах PL/SQL. Использование в пакетах таблиц типа данных RECORD.

Использование в разработке приложений пакетов, поставляемых Oracle
Обзор пакетов, поставляемых Oracle. Примеры некоторых стандартных пакетов. Как работает пакет DBMS_OUTPUT? Использование пакета UTL_FILE для работы с файлами операционной системы. Использование пакета UTL_MAIL.

Динамический SQL
Этапы выполнения команды SQL. Что такое динамический SQL? Определение переменных в курсоре. Динамическое выполнение блока PL/SQL. Использование родного динамического SQL (NDS) для компиляции кода PL/SQL. Вызов пакета DBMS_SQL. DBMS_SQL и параметризованный DML. Функциональная полнота динамического SQL.

Рекомендации по дизайну кода PL/SQL
Стандартизация констант и исключений. Использование локальных подпрограмм в коде PL/SQL. Автономные транзакции. Использование подсказки компилятору NOCOPY для передачи параметра по ссылке. Применение подсказки компилятору PARALLEL_ENABLE для оптимизации кода. Кэш результатов функций PL/SQL. Фраза DETERMINISTIC для функций. Использование пакетного связывания для улучшения производительности.

Создание триггеров базы данных
Описание различных видов триггеров. Сценарии использования триггеров. Создание триггеров при помощи команды CREATE TRIGGER и SQL Developer. Типы событий триггера и срабатывание триггера. Различия между триггером уровня команды и строчным триггером. Создание замещающих (INSTEAD OF) и отключенных триггеров. Управление, тестирование и удаление триггеров.

Создание комбинированных (COMPOUND) триггеров, DDL-триггеров и триггеров, срабатывающих по системным событиям базы данных
Работа с комбинированными триггерами. Срабатывание комбинированных триггеров. Структура комбинированных триггеров для таблиц и представлений. Применение комбинированных триггеров для исправления ошибок, связанных с изменяющимися таблицами. Сравнение триггеров, срабатывающих на события базы данных, и хранимых процедур. Создание триггеров, срабатывающих на команды DDL. Создание триггеров, срабатывающих на системные события и события базы данных. Системные привилегии, необходимые для управления триггерами.

Использование компилятора PL/SQL
Использование компилятора PL/SQL. Параметры инициализации, влияющие на компиляцию кода PL/SQL. Новые категории предупреждений компилятора. Категории предупреждений компилятора для подпрограмм. Преимущества использования предупреждений компилятора. Категории предупреждений компилятора. Установка уровня предупреждений компилятора при помощи SQL Developer, параметра инициализации PLSQL_WARNINGS и пакета DBMS_WARNING. Просмотр предупреждений компилятора при помощи SQL Developer, SQL*Plus или представлений словаря данных.

Сопровождение зависимостей
Обзор зависимостей между объектами. Отслеживание зависимостей между объектами при помощи представления словаря данных USER_DEPENDENCIES. Просмотр статуса объекта. Определение эффекта, оказываемого на процедуры и функции, от изменения объекта базы данных. Отображение локальных и удаленных зависимостей. Упрощенное сопровождение зависимостей в Oracle Database 12c. Локальные и удаленные зависимости. Перекомпиляция программных единиц PL/SQL.

Oracle Database 12c: Program with PL/SQL
Базовые курсы для администраторов БД, для пользователей и разработчиков приложений. Версия 12с,
2017-11-20/Алматы