Регистрация на курс

12cPwPL_SQL

Oracle Database: Программирование с PL/SQL


Oracle Database: Program with PL/SQL

Курс Oracle Database: Program with PL/SQL, начинается с введения в процедурный язык программирования PL/SQL и рассматривает преимущества его использования. Под руководством инструктора вы научитесь разрабатывать хранимые процедуры, функции, узнаете о программных пакетах, триггерах и многом другом.

Создание качественного PL/SQL-кода, оптимизация производительности СУБД поможет вам предоставлять более качественный сервис и более оптимально использовать IT-ресурсы

На курсе изучается

  • Условное управление выполнением кода (циклы, блоки условий).
  • Использование пакетов PL/SQL для группировки связанных процедур и функций.
  • Создание триггеров для решения бизнес-задач
  • Использование встроенных пакетов для отладки, вывода на экран и в файл
  • Создание анонимных блоков, процедур и функций
  • Объявление переменных в коде PL/SQL

Данный курс является компиляцией курсов Oracle Database: PL/SQL Fundamentals и Oracle Database: Develop PL/SQL Program Units

Аудитория

  • Разработчики приложений
  • Администраторы баз данных
  • Разработчики PL/SQL
  • Разработчики портальных решений
  • Системные аналитики
  • Технические консультанты

Предварительная подготовка

После курса вы будете уметь

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


Программа курса

Модуль 1. Введение

  • Цели курса
  • Программа курса
  • Знакомство со схемойHuman Resources (HR)
  • Средства разработки PL/SQL, используемые в курсе
  • Знакомство с SQL Developer

Модуль 2. Введение в PL/SQL

  • Обзор PL/SQL
  • Преимущества подпрограмм PL/SQL
  • Типы блоков кода PL/SQL
  • Пример создания анонимного блока
  • Как выводить данные из блока PL/SQL?

Модуль 3. Объявление идентификаторов PL/SQL

  • Типы идентификаторов, используемые в подпрограмме PL/SQL
  • Использование секции объявления
  • Использование переменных
  • Определение скалярных типов
  • Атрибут %TYPE
  • Что такое переменные подстановки?
  • Последовательности в выражениях PL/SQL

Модуль 4. Создание исполняемых выражений

  • Основы синтаксиса PL/SQL
  • Использование комментариев
  • Использование SQL-функций в PL/SQL
  • Преобразование типов данных
  • Вложенные блоки
  • Операторы в PL/SQL

Модуль 5. Взаимодействие с СУБД Oracle

  • Вызов оператора SELECT из PL/SQL
  • Получение данных PL/SQL
  • Использование курсоров
  • Ошибки при именовании операторов DML
  • Модификация данных в PL/SQL
  • Атрибуты курсоров для получения обратной связи при DML
  • Сохранение и откат транзакций

Модуль 6. Контроль исполнения

  • Условные операторы IF
  • Условные операторы CASE
  • Использование простых циклов (LOOP)
  • Выражение WHILE … LOOP
  • Выражение FOR …LOOP
  • Использование команды CONTINUE

Модуль 7. Составные типы данных

  • Использование записей в PL/SQL
  • Атрибут %ROWTYPE
  • Вставка и обновление записей в PL/SQL
  • Таблицы INDEX BY
  • Изучение методов таблиц INDEX BY
  • Использование таблиц записей INDEX BY

Модуль 8. Явные курсоры

  • Что такое явные курсоры?
  • Объявление курсоров
  • Открытие курсора
  • Получение данных из курсора
  • Закрытие курсора
  • Использование конструкции CURSOR FOR LOOP
  • Атрибуты %NOTFOUND и %ROWCOUNT
  • Выражения FOR UPDATE и WHERE CURRENT

Модуль 9. Обработка исключений

  • Определение исключений
  • Обработка исключений в PL/SQL
  • Перехват встроенных ошибок
  • Перехват пользовательских ошибок
  • Передача исключений
  • Процедура RAISE_APPLICATION_ERROR

Модуль 10. Хранимые процедуры

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

Модуль 11. Создание и отладка функций

  • Создание, вызов и удаление функций
  • Преимущества использования функций
  • Шаги по созданию функции
  • Вызов функций из SQL-выражений
  • Ограничения при вызове функций
  • Побочные эффекты при использовании функций
  • Отображение информации о функции
  • Отладка функций и процедур

Модуль 12. Пакеты

  • Преимущества использования пакетов
  • Описание пакетов
  • Из чего состоят пакеты?
  • Разработка пакета
  • Видимость компонентов в пакетах
  • Создание тела и заголовка пакета при помощи команды SQL CREATE в SQL Developer
  • Вызов кода в пакетах
  • Отображение кода пакета при помощи словаря данных

Модуль 13. Разработка пакетов

  • Перегрузка подпрограмм PL/SQL
  • Использование пакета STANDARD
  • Использование прямых объявлений для избегания проблемы Illegal Procedure Reference
  • Использование функций в SQL и их ограничения
  • Сохранение состояния пакета
  • Сохранение состояния курсора в пакете
  • Побочные эффекты подпрограмм в PL/SQL
  • Вызов Tables of Records из пакетов

Модуль 14. Использование встроенных пакетов при разработке программ

  • Описание встроенных пакетов
  • Примеры
  • Как работает пакет DBMS_OUTPUT
  • Использование пакета UTL_FILE для взаимодействия с файловой системой сервера
  • Отправка почты при помощи пакета UTL_MAIL
  • Написание подпрограмм UTL_MAIL

Модуль 15. Динамический SQL

  • Процесс выполнения SQL
  • Что такое динамический SQL?
  • Определение переменных курсорного типа
  • Динамическое выполнение блока PL/SQL
  • Настройка Native Dynamic SQL для компиляции в PL/SQL
  • Использование пакета DBMS_SQL
  • Использование DBMS_SQL с параметризированными DML выражениями
  • Функциональность динамического SQL

Модуль 16. Принципы построения кода PL/SQL

  • Стандартизация констант и исключений
  • Локальные подпрограммы
  • Автономные транзакции
  • Директива компилятора NOCOPY
  • Использование директивы PARALLEL_ENABLE
  • Межсессионное кеширование результатов функций в PL/SQL
  • Функции с выражением DETERMINISTIC
  • Использование Bulk-привязки для улучшения производительности

Модуль 17. Триггеры

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

Модуль 18. Создание составных, DDL, и событийных триггеров уровня СУБД

  • Составные триггеры
  • Понимание временных секций составного триггера
  • Структура составного триггера для таблицы и представления
  • Использования составного триггера для решения ситуации Mutating Table Error
  • Сравнение триггеров и хранимых процедур
  • Триггеры на операции DDL
  • Триггеры на системные события и события экземпляра БД
  • Привилегии, необходимые для работы с триггерами

Модуль 19. Компилятор PL/SQL

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

Модуль 20. Управление зависимостями

  • Зависимости между объектами схемы
  • Отображение прямых зависимостей из представления USER_DEPENDENCIES
  • Запрос состояния объектов
  • Инвалидация зависимых объектов
  • Отображение прямых и непрямых зависимостей
  • Управление зависимостями в Oracle Database 12c
  • Удаленные зависимости
  • Рекомпиляция пакетов PL/SQL


Нужна консультация?