Язык PL/SQL. Иван Сергеевич Задворьев

Читать онлайн.
Название Язык PL/SQL
Автор произведения Иван Сергеевич Задворьев
Жанр Базы данных
Серия
Издательство Базы данных
Год выпуска 2017
isbn



Скачать книгу

заголовка

      DECLARE

      раздел объявлений

      BEGIN

      исполняемый раздел

      EXCEPTION

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

      END;

      В разделе заголовка указываются:

      тип блока (процедура, функция);

      имя блока (имя процедуры, функции);

      имена параметров, их типы данных и режимы передачи значений.

      В разделе объявлений объявляются пользовательские типы данных, переменные и константы, которые потом используются в исполняемом разделе и разделе обработки исключений. В исполняемом разделе реализуется собственно логика программы. В вырожденном случае там может присутствовать только одна «пустая» команда NULL. Обработка исключений рассматривается далее в отдельном параграфе.

      Ключевые слова BEGIN и END в языке PL/SQL являются операторными скобками, подобными символам { и } в других языках программирования и отмечают начало исполняемого раздела и конец блока. Каждая команда в PL/SQL должна завершаться точкой с запятой (символом ; ).

      Виды блоков PL/SQL

      В PL/SQL есть два вида блоков:

      именованные блоки (с разделом заголовка);

      анонимные блоки (без раздела заголовка).

      Именованные блоки в свою очередь тоже бывают двух видов:

      именованные блоки хранимых в базе данных программ (процедур, функций, пакетов и триггеров);

      именованные блоки в разделах объявлений других блоков (анонимных или именованных).

      Хранимые программы (stored programs) являются объектами базы данных Oracle и создаются DDL-командой CREATE, после которой записывается именованный блок PL/SQL. Имя блока, указанное в разделе заголовка, будет являться именем объекта базы данных.

      Анонимные блоки (anonymous blocks) раздела заголовка не имеют. Если блок не имеет раздела заголовка, то он не имеет и имени, которое в этом разделе указывается, поэтому такие блоки и называются анонимными.

      Анонимные блоки либо вкладываются в другие блоки, либо хранятся в виде текстовых файлов-сценариев. В последнем случае анонимные блоки, как правило, используются для вызова хранимых программ или для автоматизации задач администрирования баз данных.

      Анонимный блок-сценарий file1.sql

      Вложенные анонимные блоки

      в именованном блоке хранимой программы

      DECLARE

      i INTEGER;

      – именованный блок процедуры proc1

      – в разделе анонимного блока

      PROCEDURE proc1 IS

      BEGIN

      NULL;

      END;

      BEGIN

      – вызов процедуры proc1

      proc1;

      END;

      – именованный блок процедуры proc2

      CREATE PROCEDURE proc2 AS

      BEGIN

      – родительский анонимный блок,

      – вложенный в именованный proc2:

      DECLARE

      BEGIN

      – еще один анонимный блок

      – вложенный в родительский:

      DECLARE

      BEGIN

      NULL;

      END; – конец вложенного блока

      END; – конец родительского блока

      END;– конец именованного блока proc2

      Комментарии

      В любом месте исходного кода на