Курс знакомит слушателей с языком PL/SQL и помогает оценить преимущества этого мощного языка программирования. Будет изучено создание блоков PL/SQL. Блоки могут быть использованы различными формами, отчётами и приложениями для обработки данных. Слушатели научатся создавать анонимные блоки PL/SQL, и получат представление о хранимых процедурах и функциях. Узнают, как объявлять переменные и обрабатывать исключения. Демонстрации наглядных примеров и практические работы укрепят знание основных концепций. В качестве инструмента разработки на курсе будет использоваться Oracle SQL Developer.

Слушатели изучают:

Аудитория:

Необходимая предварительная подготовка:

Также рекомендуем прослушать связанные курсы:

Программа

Введение

Цели курса, план курса. Таблицы учебной схемы «Персонал» (Human Resources, HR).

Среда выполнения кода PL/SQL на сервере базы данных. Документация Oracle Database 12c и дополнительные ресурсы.

Введение в PL/SQL

Преимущества и структура PL/SQL. Обзор типов блоков PL/SQL. Генерация вывода из блоков PL/SQL.

Объявление идентификаторов в PL/SQL

Различные типы идентификаторов в подпрограммах PL/SQL. Описание и инициализация переменных. Описание типов данных. Атрибут %TYPE. Связанные (bind) переменные.

Исполняемые операторы

Лексические единицы в блоке PL/SQL. Функции SQL в PL/SQL. Преобразование типов данных. Вложенные блоки как выражения. Ссылка на значение идентификатора во вложенном блоке. Операторы в PL/SQL. Использование последовательностей в выражениях PL/SQL.

Использование операторов SQL внутри блока PL/SQL

Использование операторов SQL в PL/SQL. Извлечение данных в PL/SQL при помощи оператора SELECT. Соглашения об именовании при извлечении данных и работе с операторами DML. Изменение данных на сервере при помощи PL/SQL. Концепции SQL-курсоров. Атрибуты SQL-курсоров для обратной связи с операторами DML. Фиксация и откат транзакций.

Управляющие структуры

Управление выполнением в PL/SQL. Условное управление с использованием операторов IF и CASE. Обработка неопределенных значений. Использование булевых выражений в логических операторах. Контроль итераций в циклах.

Работа с составными типами данных

Составные типы данных: записи PL/SQL и таблицы. Использование записей PL/SQL для хранения нескольких значений разных типов данных. Вставка и обновление при помощи записей PL/SQL. Ассоциативные массивы INDEX BY и методы работы с ними.

Использование явных курсоров

Определение курсора. Управление явным курсором. Использование явных курсоров для обработки строк. Курсоры и записи. Курсорные циклы FOR с подзапросами. Атрибуты явного курсора. Атрибуты %NOTFOUND и %ROWCOUNT.

Обработка исключений

Определение исключений. Обработка исключений в PL/SQL. Предопределенные исключения. Перехват предопределённых и не предопределенных исключений сервера Oracle. Функции, возвращающие информацию об исключениях. Перехват исключений, определяемых пользователями. Распространение исключений. Оператор RAISE.

Создание хранимых процедур и функций

Представление о хранимых процедурах и функциях. Различие между анонимными блоками и подпрограммами. Демонстрация CREATE OR REPLACE PROCEDURE | FUNCTION. Заголовочная часть хранимой процедуры и функции. Создание простых процедур и функций. Создание простой процедуры с параметром IN. Вызов процедуры и функции.