
Ответы Черноморова экзамен / ответы / 25
.docx25.ОСНОВЫ PL\SQL. ОТДЕЛЬНЫЕ ЗАПРОСЫ И АНОНИМНЫЕ БЛОКИ КОДА.СТРУКТУРА АНОНИМНОГО БЛОКА
PL/SQL - это процедурный блочно-структурированный язык. Он представляет собой расширение языка SQL и предназначен для работы с СУБД Oracle.
PL/SQL предоставляет разработчику приложений и интерактивному пользователю следующие основные возможности:
реализация подпрограмм как отдельных блоков, в том числе использование вложенных блоков;
создание пакетов, процедур и функций, хранимых в базе данных;
предоставление интерфейса для вызова внешних процедур;
поддержка как типов данных SQL, так и типов, вводимых в PL/SQL;
применение явного и неявного курсора, а также оператора цикла FOR для курсора;
введение у переменных PL/SQL и курсоров атрибутов, которые позволяют ссылаться на тип данных или структуру элемента;
введение типов коллекций и объектных типов;
поддержка набора операторов управления и операторов цикла;
реализация механизма обработки исключений.
Основной программной единицей PL/SQL является блок, который может содержать вложенные блоки, называемые иногда подблоками.
Блок позволяет объединять объявления и операторы, связанные общей логикой; может быть анонимным и именованным.
Блок состоит из трех основных частей:
-
секция объявлений (необязательная часть);
-
тело блока;
-
обработчики исключений (необязательная часть).
PL/SQL не чувствителен к регистру, кроме строковых переменных и констант.
Каждая конструкция PL/SQL должна заканчиваться символом ;.
Одна конструкция может быть расположена на нескольких строках.
Блоки PL/SQL
PL/SQL, как и любой другой процедурный язык программирования, состоит из логически связанных элементов, объединенных в программные единицы, которые называются блоками. Каждый модуль PL/SQL состоит как минимум из одного блока. Блоки PL/SQL могут содержать любое количество подблоков, то есть иметь различный уровень вложенности. Блок как структурная единица логически связанных элементов определяет область их действия, делает код читабельным и простым для понимания. В PL/SQL различают два типа блока:
анонимные блоки;
именованные блоки.
Анонимные блоки
Анонимные блоки - это блоки, которые не имеют имени. Анонимные блоки не могут быть вызваны другими блоками, так как у них нет имени, на которое можно ссылаться.
Триггеры Oracle Forms и Reports, которые также называются клиентскими триггерами, являются анонимными блоками PL/SQL. Триггеры базы данных и сценарии в SQL*Plus, заключенные в операторские скобки BEGIN и END, также являются анонимными блоками. Ниже приведена структура анонимного блока:
DECLARE
<имя переменной > <тип данных><(значение)>;
BEGIN
< исполняемый оператор>;
EXCEPTION
< оператор обработки исключения >;
END;
DECLARE - раздел объявлений. В этом разделе идентифицируются переменные, курсоры и вложенные блоки, на которые имеются ссылки в исполняемом блоке и блоке исключений. Этот раздел необязательный.
BEGIN - END - исполняемый раздел. В этом разделе находятся операторы, которые выполняются ядром PL/SQL во время работы вашего приложения. Этот раздел является обязательным.
EXCEPTION - раздел исключений. В этом разделе обр