Курс Oracle 10g: Основы PL/SQL
Oracle 10g: Основы PL/SQL
Описание Курса:
Студенты научатся создавать анонимные блоки PL/SQL, хранимые процедуры и функции. Они узнают, как объявлять переменные и обрабатывать исключения. Слушатели также научатся разрабатывать пакеты и триггеры в базе данных, и кроме того управлять программами PL/SQL, их зависимостью, манипулировать большими объектами (LOB), и использовать дополнительные пакеты Oracle. Студенты будут использовать iSQL*Plus для разработки программных модулей. Демонстрации и практика укрепят знание основных концепций. Дополнительной целью курса является подготовка к сдаче сертификационного теста Oracle: 1Z0-042.
Предварительная подготовка:
Успешное окончание курса Oracle 10g: Основы SQL или эквивалентная подготовка.
Приобретаемые навыки:
- Создание анонимных эффективно исполняющихся блоков PL/SQL
- Написание кода PL/SQL для взаимодействия с БД
- Описание возможностей и синтаксиса PL/SQL
- Использование программных конструкций в PL/SQL и управление потоком операций (циклы, управляющие структуры, явные курсоры)
- Управление ошибками на стадии исполнения
- Создание простых процедур и функций
- Создание пакетов PL/SQL для группировки связанных конструкций
- Существующие категории и использование пакетов PL/SQL для генерации вывода на экран, в файл, в среду web или email
- Программирование заданий PL/SQL для независимой работы
- Написание динамического SQL для большей гибкости кода
- Создание триггеров для решения проблем бизнеса
- Управление зависимостями между программами PL/SQL
Содержание курса:
Модуль 1. Введение в PL/SQL
- Что такое PL/SQL
- Среда PL/SQL
- Преимущества PL/SQL
- Обзор типов блоков PL/SQL
- Создание и исполнение простого анонимного блока
- Генерация вывода из блока PL/SQL
- iSQL*Plus как среда программирования на PL/SQL
- Различные типы идентификаторов в программах PL/SQL
- Использование декларативной секции для объявления идентификаторов
- Перечень использований переменных
- Хранение данных в переменных
- Объявление переменных PL/SQL
- Описание основного синтаксиса блока
- Использование литералов в PL/SQL
- Привязка идентификаторов с функциями SQL
- Использование вложенных блоков
- Ссылка на значение идентификатора во вложенном блоке
- Квалификация идентификатора меткой
- Использование операторов в PL/SQL
- Использование корректного синтаксиса блока PL/SQL
- Определение выражений SQL, которые могут быть использованы в PL/SQL
- Включение выражения SELECT в PL/SQL
- Извлечение данных в PL/SQL при помощи выражения SELECT
- Избежание ошибок путём использования соглашения об именовании при использовании выражений DML
- Манипулирование данными на сервере, используя PL/SQL
- Принцип курсора SQL
- Атрибуты курсора SQL для обратной связи с выражениями DML
- Фиксация и откат транзакций
- Контроль потока исполнения в PL/SQL
- Условное исполнение с использованием оператора IF
- Условное исполнение с использованием оператора CASE
- Обработка значений Nulls во избежание типичных ошибок
- Построение булевых условий с логическими операторами
- Использование пошагового контроля в выражениях цикла
- Изучение составных типов данных - таблиц и записей PL/SQL
- Использование записей PL/SQL для хранения множества значений различных типов
- Вставка и обновление записей PL/SQL
- Использование таблиц INDEX BY для хранения множества значений одного типа
- Курсор в цикле FOR
- Увеличение гибкости курсора путём использования параметров
- Использование предложения FOR UPDATE для блокирования строк
- Использование предложения WHERE CURRENT для ссылки на текущую строку
- Использования явного курсора для обработки строк
- Атрибуты явного курсора
- Курсоры и записи
- Обработка исключений в PL/SQL
- Предопределённые исключения
- Отлавливание непредопределённых ошибок сервера Oracle
- Функции, возвращающие информацию о возникших исключениях
- Перехват пользовательских исключений
- Распространение исключений
- Использование процедуры RAISE_APPLICATION_ERROR для передачи сообщения об ошибке в приложение
- Описание блоков и программ PL/SQL
- Использование процедур
- Создание процедур
- Различие между формальными и фактическими параметрами
- Перечисление особенностей различных режимов параметров
- Создание процедур с параметрами и их вызов
- Обработка исключений в процедурах
- Просмотр исходного кода в словаре данных
- Описание хранимых функций
- Синтаксис CREATE OR REPLACE FUNCTION
- Шаги создания хранимой функции
- Создание хранимой функции в iSQL*Plus и её выполнение
- Преимущества использования хранимой функции в выражениях SQL
- Ограничения на вызов функций из выражений SQL
- Описание различий между процедурами и функциями
- Создание пакетов
- Перечень преимуществ и использований пакетов PL/SQL
- Разница между телом и спецификацией пакета
- Включение публичных и частных конструкций в пакет
- Вызов частных и публичных конструкций в пакете
- Удаление пакетов
- Перегрузка процедур и функций
- Использование предописания
- Создание одноразового блока инициализации пакета
- Отслеживание постоянного состояния конструкций в пакетах
- Использование таблиц и записей PL/SQL в пакетах
- Сворачивание кода для сокрытия исходного текста
- Перечень различных использований пакетов Oracle
- Повторное использование кода для выполнения типичных задач от разработчика до АБД
- Использование команды DESCRIBE для просмотра спецификации пакета
- Как работает DBMS_OUTPUT
- Использование UTL_FILE для прямого вывода в файлы операционной системы
- Использование пакета HTP для генерации простой веб-страницы
- Описание основных возможностей UTL_MAIL
- Вызов пакета DBMS_SCHEDULER для постановки кода PL/SQL на исполнение
- Описание использования собственного динамического SQL
- Последовательность выполнения SQL
- Написание динамического SQL с синтаксисом EXECUTE IMMEDIATE
- Написание динамического SQL при помощи пакета DBMS_SQL
- Генерация команд DDL из метаданных при помощи пакета DBMS_METADATA
- Стандартизация констант при помощи пакета констант
- Стандартизация исключений при помощи пакета исключений
- Написание кода PL/SQL с использованием локальных подпрограмм
- Использование подсказки компилятора NOCOPY для пропуска параметров, передаваемых по ссылке
- Использования подсказки PARALLEL ENABLE для оптимизации
- Использование прагмы AUTONOMOUS TRANSACTION для запуска независимых транзакций в рамках одной транзакции
- Установка директивы AUTHID для выполнения программ с привилегиями вызывающего пользователя вместо привилегий создателя
- Использование массового связывания для многострочных операций
- Описание зависимых объектов
- Отслеживание зависимостей при помощи словаря данных
- Прогнозирование влияния изменения объекта БД на хранимые процедуры и функции
- Управление локальными и удалёнными зависимостями
- Описание LOB
- Создание и управление типами данных LOB
- Различия между встроенными и внешними LOB
- Использование пакета DBMS_LOB для контроля LOB
- Использование временных LOB
- Описание различных типов триггеров
- Описание триггеров БД и их использование
- Создание триггеров БД
- Правила срабатывания триггеров БД
- Удаление триггеров
- Создание триггеров на события системы и БД
- Создания триггеров на выражения DDL
- Использование выражения CALL в триггерах для вызова процедур
- Правила чтения из таблиц и записи в таблицы при помощи триггеров
- Описание сценариев приложений для бизнеса, реализуемых триггерами
- Управление кодом триггера
- Описание собственной (native) компиляции и интерпретационной (interpreted) компиляции
- Перечень возможностей собственной компиляции
- Переключение между собственной и интерпретационной компиляцией для компилирования кода PL/SQL
- Установка параметров для контроля компиляции PL/SQL
- Написание запроса для получения информации из словаря данных о ходе компиляции кода PL/SQL
- Объяснение механизма выдачи предупреждений при компиляции
- Перечень шагов для использования выдачи предупреждений при компиляции
- Использование пакета DBMS_WARNING для выдачи предупреждений при компиляции