Хотите получать информацию по новым курсам и их датам проведения?
(DPU_PLSQL) Oracle Database 12c R2: Program with PL/SQL
Описание курса
Курс предназначен для разработчиков с базовыми знаниями 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
-
Круг слушателей:
- Разработчики порталов
- Администраторы баз данных
- Разработчики форм
- Системные аналитики
- Разработчики
- Технические консультанты
- Разработчики приложений
- Разработчики 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.
Дни | 5 дней |
---|---|
Дата курса | 03.июн / 23.сен / 18.ноя |
Город | Все города |
Формат обучения | Корпоративный |