Казахстан, г. Алматы, ул. Шевченко 90, БЦ «Каратал», офис 53
Казахстан, г. Астана, ул. Иманова 19, БЦ Деловой Дом "Алма-Ата", офис 612

направление: Database Application Development кол-во дней: 2
вендор: Oracle кол-во часов: 16
код курса: PL/SQL

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

Круг слушателей:

  • Разработчики PL/SQL

  • Системные аналитики

  • Технические консультанты

  • Разработчики форм

  • Разработчики порталов

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

  • Представления о концепциях и методиках обработки данных

  • Знакомство с языками программирования

  • Oracle Database 12c: Основы SQL

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

  • Возможности и синтаксис PL/SQL

  • Создание анонимных блоков PL/SQL

  • Написание кода PL/SQL как интерфейса к базе данных

  • Использование программных конструкций PL/SQL и контроль потока операций (циклы, управляющие структуры и явные курсоры)

  • Обработку ошибок на стадии исполнения

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

Введение
Цели курса, план курса. Таблицы учебной схемы «Персонал» (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. Вызов процедуры и функции.