Курс знакомит слушателей с языком PL/SQL и помогает оценить преимущества этого мощного языка программирования. Будет изучено создание блоков PL/SQL. Блоки могут быть использованы различными формами, отчётами и приложениями для обработки данных. Слушатели научатся создавать анонимные блоки PL/SQL, и получат представление о хранимых процедурах и функциях. Узнают, как объявлять переменные и обрабатывать исключения. Демонстрации наглядных примеров и практические работы укрепят знание основных концепций. В качестве инструмента разработки на курсе будет использоваться Oracle SQL Developer.
Все материалы по курсу предоставляются на английском языке.
Слушатели изучают:
1. Введение
Цели курса, план курса. Таблицы учебной схемы «Персонал» (Human Resources, HR). Среда выполнения кода PL/SQL на сервере базы данных. Документация Oracle Database 12c и дополнительные ресурсы.
2. Введение в PL/SQL
Преимущества и структура PL/SQL. Обзор типов блоков PL/SQL. Генерация вывода из блоков PL/SQL.
3. Объявление идентификаторов в PL/SQL
Различные типы идентификаторов в подпрограммах PL/SQL. Описание и инициализация переменных. Описание типов данных. Атрибут %TYPE. Связанные (bind) переменные.
4. Исполняемые операторы
Лексические единицы в блоке PL/SQL. Функции SQL в PL/SQL. Преобразование типов данных. Вложенные блоки как выражения. Ссылка на значение идентификатора во вложенном блоке. Операторы в PL/SQL. Использование последовательностей в выражениях PL/SQL.
5. Использование операторов SQL внутри блока PL/SQL
Использование операторов SQL в PL/SQL. Извлечение данных в PL/SQL при помощи оператора SELECT. Соглашения об именовании при извлечении данных и работе с операторами DML. Изменение данных на сервере при помощи PL/SQL. Концепции SQL-курсоров. Атрибуты SQL-курсоров для обратной связи с операторами DML. Фиксация и откат транзакций.
6. Управляющие структуры
Управление выполнением в PL/SQL. Условное управление с использованием операторов IF и CASE. Обработка неопределенных значений. Использование булевых выражений в логических операторах. Контроль итераций в циклах.
7. Работа с составными типами данных
Составные типы данных: записи PL/SQL и таблицы. Использование записей PL/SQL для хранения нескольких значений разных типов данных. Вставка и обновление при помощи записей PL/SQL. Ассоциативные массивы INDEX BY и методы работы с ними.
8. Использование явных курсоров
Определение курсора. Управление явным курсором. Использование явных курсоров для обработки строк. Курсоры и записи. Курсорные циклы FOR с подзапросами. Атрибуты явного курсора. Атрибуты %NOTFOUND и %ROWCOUNT.
9. Обработка исключений
Определение исключений. Обработка исключений в PL/SQL. Предопределенные исключения. Перехват предопределённых и не предопределенных исключений сервера Oracle. Функции, возвращающие информацию об исключениях. Перехват исключений, определяемых пользователями. Распространение исключений. Оператор RAISE.
10. Создание хранимых процедур и функций
Представление о хранимых процедурах и функциях. Различие между анонимными блоками и подпрограммами. Демонстрация CREATE OR REPLACE PROCEDURE | FUNCTION. Заголовочная часть хранимой процедуры и функции. Создание простых процедур и функций. Создание простой процедуры с параметром IN. Вызов процедуры и функции.