Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа с Oracle / Язык PL SQL.docx
Скачиваний:
11
Добавлен:
28.06.2021
Размер:
768.74 Кб
Скачать

35

Язык pl/sql

Язык PL/SQL – фирменный процедурно-ориентированный язык программирования СУБД Oracle, встроенный в Oracle XE. С его помощью можно писать программы обработки информации, включающие в себя:

  • процедуры языка PL/SQL (для управления выполнением операторов);

  • команды языка SQL для доступа к базам данных Oracle.

Язык SQL представляет собой лишь средство доступа к БД, позволяющее приложениям вводить данные в БД Oracle и извлекать их из нее. Он не является полноценным языком программирования приложений БД. Для разработки таких приложений необходимо использовать высокоуровневый язык, включающий в себя язык SQL. Для программирования сервера баз данных Oracle и связанных с ним приложений можно использовать процедурный язык PL/SQL.

Язык PL/SQL похож на язык программирования Ada, многие их процедурные конструкции совпадают, однако он оптимизирован для тес­ного взаимодействия с СУБД Oracle.

Язык PL/SQL имеет операторы, позволяющие объяв­лять переменные и константы, управлять ходом выполнения программы, вводить данные и работать с ними и многие другие команды.

Блоки программы pl/sql

Программа на языке PL/SQL имеет структуру из отдельных блоков, в которых сгруппированы логически свя­занные объявления и операторы. Каждый блок программы PL/SQL решает свою конкретную задачу. Это позволяет организовать программу PL/SQL так, чтобы она была понятна и легко чи­талась.

Весь код PL/SQL, выполняющий фактическую работу, состоит из блоков. Блок PL/SQL состоит из четырех разделов:

  • раздел заголовка;

  • раздел объявлений (деклараций);

  • выполняемый раздел (основное тело программы);

  • раздел исключений (блок обработки ошибок).

Анонимный блок блок PL/SQL без секции заголовка. Анонимные блоки могут выполняться из SQL*Plus, использоваться в функциях, процедурах и триггерах PL/SQL. Один блок можно помещать в другой блок.

DECLARE

-- раздел объявлений (необязателен)

BEGIN

-- тело программы (обязательно)

EXCEPTION

-- обработчики ошибок (необязательны)

END;

Основы языка PL/SQL будем изучать путем выполнения анонимных блоков в Oracle SQL Developer. Анонимный блок не хранится постоянно в базе данных Oracle. Приложение просто отправля­ет блок на сервер базы данных для обработки его в режиме вы­полнения.

Заголовок блока верхнего уровня функции, процедуры или триггера содержит их спецификацию. Для анонимных блоков заголовок содержит ключевое слово DECLARE. Для помеченных блоков заголовок содержит имя метки в двойных угловых скобках, за которым следует ключевое слово DECLARE:

just_a_label

DECLARE

В процедуре с вложенными блоками, можно ссылаться на элемент блока, предваряя имя элемента именем блока (метка_блока . метка_элемента).

В разделе объявлений объявляются переменные, кон­станты, обработчики исключений и другие объекты, которые становятся доступны в других частях этого же блока. Когда выполнение блока завершается, объявленные элементы перестают существовать. Все, что находится в секции объявлений, может использоваться только внутри блока (существует на протяжении его времени жизни). Часть кода, в которой может использоваться переменная, называется областью видимости. Раз­дел объявлений начинается ключевым словом DECLARE и неявно заканчивается ключевым словом BEGIN тела программы. Если в программе не требуются объявления, то раздел объявлений может быть опущен.

Тело программы блока содержит исполняемые операторы блока (в теле программы блок выполняет свои кон­кретные функции). Тело блока начинается ключевым словом BEGIN и заканчивается ключевым словом EXCEPTION, которое открывает раздел обработчика исключений блока. Если блок не содержит обработчиков исключений, то тело программы заканчивается ключевым словом END, закрывающим весь блок.

Необязательный раздел обработки ошибок блока содержит обра­ботчики исключений (процедуры обработки ошибок) данного блока. Если при выполнении какого-либо оператора в теле программы возникает ошибка, то управление передается соответствующему обра­ботчику в разделе обработки исключений для выполнения предусмотрен­ных действий. Раздел обработки исключений блока начинается ключевым словом EXCEPTION и заканчивается клю­чевым словом END. Если программа не требует обработки исключе­ний, то раздел может быть опущен.

Комментарии не являются обязательными элементами программы, но их следует включать для описания объявленных объектов и действий операторов. Комментарии описывают цели выполнения от­дельных сегментов программы. В языке PL/SQL используются два типа комментариев.

-- Однострочный комментарий

/* Многострочный

комментарий*/