Что будет изучаться
Этот курс Oracle Database: Program with PL/SQL Ed 2 начинается с введения в PL/SQL, затем позволит вам оценить преимущества PL/SQL как мощного языка программирования. Прослушав лекции и выполнив практические занятия с инструкторами-разработчиками программных продуктов на технологиях Oracle, вы научитесь разрабатывать хранимые процедуры, функции, пакеты и многое другое.
Вы научитесь
Условному управлению потоком исполнения кода (циклы, структуры управления).
Созданию хранимых процедур и функций.
Использованию пакетов PL/SQL для группировки и хранения связанных конструкций.
Создание триггеров для решения бизнес-задач. Использование стандартных пакетов PL/SQL, поставляемых Oracle, для автоматизации повседневных задач
Ввод-вывод, файловый ввод-вывод.
Создание пользовательских пакетов для приложений.
Написание динамического SQL-код для приложений.
Преимущества для изучивших курс
Вы сможете писать в вашем проекте быстрый, надежный, безопасный и простой в управлении код, выполняющихся с максимальной производительностью. Сможете оптимизировать рабочие нагрузки базы данных, снизить затраты на ИТ и повысить качество обслуживания за счет консолидации данных базах данных в облачной инфраструктуре.
Использование Oracle SQL Developer
Для разработки этих программных модулей будет использоваться Oracle SQL Developer. Утилита SQL*Plus представлена в этом курсе в качестве дополнительного инструмента. Важное замечание: этот курс представляет собой комбинацию из курсов Oracle Database: PL/SQL Fundamentals и Oracle Database: Develop PL / SQL Program Units.
Необходимая предварительная подготовка
Oracle Database 12c R2: Introduction to SQL;
Oracle Database 12c R2: SQL Workshop I;
Oracle Database 12c R2: SQL Workshop II
Технический английский язык
Предполагаемые знания и навыки
Опыт программирования на языках программирования высокого уровня.
Цель курса:
Управление зависимостями между подпрограммами на PL/SQL.
Использование конструкций программирования на PL/SQL и условное управление потоком исполнения кода (циклы, структуры управления и явные курсоры).
Создание хранимых процедур и функций.
Использование условной компиляции для настройки функциональности приложения на PL/SQL без удаления исходного кода.
Использование поставляемых Oracle пакетов PL/SQL для создания вывода на экран, ввода-вывода файлов и вывода почты. Автоматизация повседневных задач.
Написание динамического SQL для большей гибкости программных единиц.
Создание перегруженных подпрограмм пакета для большей гибкости.
Создание триггеров для решения бизнес-задач.
Создание и отладка хранимых процедур и функций.
Описание особенностей и синтаксиса PL/SQL.
Разработка анонимных блоков PL/SQL, которые могут эффективно выполняться.
Разработка пакетов PL/SQL для группировки связанных конструкций.
Обработка ошибок времени выполнения
Аудитория курса:
разработчики приложений;
администраторы базы данных;
разработчики;
разработчики форм;
разработчики PL/SQL;
разработчики порталов;
системные аналитики;
технические консультанты.
Все материалы по курсу предоставляются вендором на английском языке.
Введение
Цель курса. Программа курса. Описание демонстрационной схемы - схемы управления персоналом. Среды разработки PL/SQL, доступные в этом курсе. Введение в SQL Developer.
Работа с облачным сервисом Oracle Cloud Exadata Express
Введение в Oracle Database Exadata Express Cloud Service. Доступ к облачной базе данных с помощью SQL Workshop. Подключение к Exadata Express с помощью клиентов базы данных.
Введение в PL/SQL
Обзор PL/SQL. Определение преимуществ подпрограмм PL/SQL. Обзор типов блоков PL/SQL. Создание простого анонимного блока. Как генерировать вывод из блока PL / SQL?
Объявление переменных PL/SQL
Перечисление различных типов идентификаторов в подпрограмме PL/SQL. Использование раздела деклараций для определения идентификаторов. Использование переменных для хранения данных. Определение скалярных типов данных. Атрибут type. Что такое bind-переменные? оследовательности в выражениях на PL/SQL.
Запись анонимных блоков PL / SQL
Описание основных принципов синтаксиса блоков PL/SQL. Как комментировать код? Развертывание функций SQL в PL/SQL. Как конвертировать типы данных? Опишите вложенных блоков. Определение операторов в PL/SQL.
Операторы SQL в блоке PL/SQL
Вызов инструкции SELECT в PL/SQL. Получение данных в PL/SQL. Концепция курсора SQL. Избегайте ошибок с помощью соглашений об именовании объектов при использовании инструкций Retrieval и DML. Обработка данных на сервере с помощью PL/SQL. Объяснение концепции курсора SQL. Использование атрибутов курсора SQL для получения обратной связи по DML. Сохранение и удаление транзакций.
Управляющие структуры
Условная обработка с использованием операторов IF. Условная обработка с использованием операторов CASE. Описание простого оператора цикла. Описание оператора цикла While. Описание оператора цикла. Использование оператора continue.
Составные типы данных
Использование типа запись в PL/SQL. Атрибут %ROWTYPE. Вставка и обновление записей PL/SQL. Индекс по таблицам. Изучение индексов табличными методами. Использование индекса по таблице записей.
Явные курсоры
Что такое явные курсоры? Объявление курсора. Открытие курсора. Извлечение данных из курсора. Закрытие курсора. Курсор в цикле. Атрибуты %NOTFOUND и %ROWCOUNT. Описание предложений FOR UPDATE и WHERE CURRENT.
Обработка исключений
Понимание понятия исключения. Обработка исключений с помощью PL/SQL. Захват предопределенных ошибок сервера Oracle. Захват не предопределенных ошибок Сервера Oracle. Захват пользовательских исключений. Распространение исключений. Процедура RAISE_APPLICATION_ERROR.
Хранимые процедуры
Создание модульного и многоуровневого дизайна подпрограмм. Модульная разработка с блоками PL/SQL. Понимание среды выполнения PL/SQL. Перечисление преимуществ использования подпрограмм PL/SQL. Перечисление различий между анонимными блоками и подпрограммами. Создание, вызов и удаление хранимых процедур. Создание процедур с параметрами и режимы параметров. Просмотр сведений о процедуре.
Хранимые функции
Создание, вызов и удаление хранимых функций. Определение преимуществ использования хранимых функций. Определение шагов для создания сохраненной функции. Вызов пользовательских функций в инструкциях SQL. Ограничения при вызове функций. Контроль побочных эффектов при вызове функций. Просмотр информации о функциях.
Отладка подпрограмм
Как отлаживать функции и процедуры? Отладка через SQL Developer.
Пакеты
Перечисление преимуществ пакетов. Описание пакетов. Каковы компоненты пакета? Как разработать пакет. Как включить видимость компонентов пакетов? Создание спецификации и тела пакета с помощью инструкции SQL CREATE и SQL Developer. Вызов конструкций пакета. Просмотр исходного кода PL/SQL с помощью словаря данных.
Развертывание пакетов
Перегрузка подпрограмм в PL/SQL. Использование стандартных пакетов. Использование прямых объявлений для разрешения неразрешенной ссылки на процедуру. Реализация функций пакета в SQL и ограничения. Постоянное состояние пакетов. Постоянное состояние курсора в пакете. Контроль побочных эффектов подпрограмм на PL/SQL. Вызов из PL/SQL таблиц записей в пакетах.
Реализация пакетов Oracle при разработке приложений
Какие пакеты поставляются Oracle? Примеры некоторых пакетов, поставляемых Oracle. Как работает пакет DBMS_OUTPUT? Использование пакета UTL_FILE для взаимодействия с файлами операционной системы. Вызов пакета UTL_MAIL. Написание своих подпрограммы с использованием UTL_MAIL.
Динамический SQL
Поток выполнения SQL. Что такое динамический SQL? Как объявить переменную курсора. Динамическое выполнение блока PL/SQL. Настройка собственного динамического SQL для компиляции кода PL/SQL. Как вызвать пакет DBMS_SQL? Реализуйте DBMS_SQL с параметризованным оператором DML. Функциональная полнота динамического SQL.
Рекомендации по разработке кода PL/SQL
Стандартизация констант и исключений. Понимание локальных подпрограмм. Запись автономных транзакций. Как реализовать hint (подсказку) компилятору nocopy. Вызов подсказки PARALLEL_ENABLE. Кэш результатов функции PL/SQL между сессиями. Детерминированное выполнение операторов языка с вызовом функций. Использование массового связывания для повышения производительности.
Триггеры
Описание триггеров. Определение типов событий срабатывания триггера и тело триггера. Сценарии бизнес-приложений для реализации триггеров. Создание триггеров DML с помощью инструкции CREATE TRIGGER и SQL Developer. Определите типов событий срабатывания триггера, тело триггера и время срабатывания. Различия между триггерами уровня оператора и триггерами уровня строки. Создание триггеров Instead of и инструкция Disabled. Как управлять, тестировать и удалять триггеры?
Создание триггеров базы данных типа Compound, DDL и Event
Что такое составные триггеры? Определение разделов временной точки составного триггера таблицы. Понимание структуры составного триггера для таблиц и представлений. Реализуйте составной триггер для устранения ошибки мутации данных в таблице. Сравнение триггеров базы данных с хранимыми процедурами. Создание триггеров для операторов DDL. Создание триггеров событий базы данных и системных событий. Системные привилегии, необходимые для управления триггерами.
Компилятор PL/SQL
Что такое компилятор PL/SQL? Описание параметров инициализации для компиляции PL/SQL. Перечисление новых предупреждений времени компиляции PL/SQL. Обзор предупреждений времени компиляции PL/SQL для подпрограмм. Перечисление преимуществ предупреждений компилятора. Перечисление категорий предупреждений о времени компиляции PL/SQL. Установка уровней предупреждений: с помощью SQL Developer, параметра инициализации PLSQL_WARNINGS и подпрограмм пакета DBMS_WARNING. Просмотр предупреждений компилятора: использование представлений SQL Developer, SQL*Plus или словаря данных.
Управление зависимостями
Обзор зависимостей объектов схемы. Запрос прямых зависимостей объектов с помощью представления USER_DEPENDENCIES. Запрос состояния объектов. Недействительность зависимых объектов. Отображение прямых и косвенных зависимостей. Управление зависимостями на уровне единичных элементов кода в базе данных Oracle 12c. Понимание того, что такое удаленная зависимость. Перекомпиляция программного модуля PL/SQL.