Что такое блок PL / SQL?
В PL / SQL код не выполняется в однострочном формате, но всегда выполняется путем группирования кода в один элемент, называемый блоками. В этом уроке вы узнаете об этих блоках.
Блоки содержат как PL / SQL, так и инструкции SQL. Все эти инструкции будут выполняться как единое целое, а не по одной инструкции за раз.
В этом руководстве вы узнаете:
- Что такое блок PL / SQL?
- Структура блока
- Синтаксис блока PL / SQL
- Типы блока PL / SQL
Структура блока
Блоки PL / SQL имеют заранее определенную структуру, в которой должен быть сгруппирован код. Ниже представлены различные разделы блоков PL / SQL.
- Раздел декларации
- Раздел исполнения
- Раздел обработки исключений
На рисунке ниже показаны различные блоки PL / SQL и порядок их разделов.
Раздел декларации
Это первый раздел блоков PL / SQL. Этот раздел является необязательной. Это раздел, в котором будет объявлено объявление переменных, курсоров, исключений, подпрограмм, инструкций прагмы и коллекций, которые необходимы в блоке. Ниже приведены еще несколько характеристик этой части.
- Этот конкретный раздел является необязательным и может быть пропущен, если объявления не требуются.
- Это должен быть первый раздел в блоке PL / SQL, если он есть.
- Этот раздел начинается с ключевого слова DECLARE для триггеров и анонимного блока. Для других подпрограмм это ключевое слово отсутствует. Вместо этого часть после определения имени подпрограммы отмечает раздел объявления.
- За этим разделом всегда должен следовать раздел выполнения.
Секция исполнения
Часть выполнения - это основная и обязательная часть, которая фактически выполняет код, написанный внутри нее. Поскольку PL / SQL ожидает исполняемые операторы из этого блока, он не может быть пустым, т. Е. В нем должна быть по крайней мере одна допустимая строка исполняемого кода. Ниже приведены еще несколько характеристик этой части.
- Он может содержать как код PL / SQL, так и код SQL.
- Он может содержать один или несколько блоков внутри как вложенный блок.
- Этот раздел начинается с ключевого слова BEGIN.
- За этим разделом должен следовать либо «КОНЕЦ», либо раздел обработки исключений (если есть).
Раздел обработки исключений:
Исключение неизбежно в программе, которое возникает во время выполнения, и для обработки этого Oracle предусмотрел блок обработки исключений. Этот раздел также может содержать операторы PL / SQL. Это необязательный раздел блоков PL / SQL.
- Это раздел, в котором обрабатывается исключение, возникшее в блоке выполнения.
- Этот раздел является последней частью блока PL / SQL.
- Управление из этого раздела никогда не может вернуться к исполнительному блоку.
- Этот раздел начинается с ключевого слова "ИСКЛЮЧЕНИЕ".
- За этим разделом всегда должно следовать ключевое слово END.
Ключевое слово END отмечает конец блока PL / SQL.
Синтаксис блока PL / SQL
Ниже приведен синтаксис блочной структуры PL / SQL.
DECLARE --optionalBEGIN --mandatory EXCEPTION --optional END; --mandatory/
Примечание: за блоком всегда должен следовать '/', который отправляет компилятору информацию о конце блока.
Типы блока PL / SQL
Блоки PL / SQL в основном бывают двух типов.
- Анонимные блоки
- Именованные блоки
Анонимные блоки:
Анонимные блоки - это блоки PL / SQL, которым не присвоены никакие имена. Их необходимо создавать и использовать в одном сеансе, потому что они не будут храниться на сервере как объекты базы данных.
Поскольку они не нуждаются в хранении в базе данных, они не нуждаются в этапах компиляции. Они пишутся и выполняются напрямую, а компиляция и выполнение происходят в одном процессе.
Ниже приведены еще несколько характеристик анонимных блоков.
- Для этих блоков не указано ссылочное имя.
- Эти блоки начинаются с ключевого слова DECLARE или BEGIN.
- Поскольку эти блоки не имеют ссылочного имени, они не могут быть сохранены для дальнейшего использования. Они должны быть созданы и выполнены в одном сеансе.
- Они могут вызывать другие именованные блоки, но вызов анонимного блока невозможен, поскольку он не имеет ссылки.
- В нем может быть вложенный блок, который может быть именованным или анонимным. Также может быть вложен в любые блоки.
- В этих блоках могут быть все три раздела блока, в которых раздел выполнения является обязательным, два других раздела - необязательными.
Именованные блоки:
Именованные блоки имеют конкретное и уникальное имя. Они хранятся как объекты базы данных на сервере. Поскольку они доступны как объекты базы данных, на них можно ссылаться или использовать, пока они присутствуют на сервере. Процесс компиляции именованных блоков происходит отдельно при их создании как объектах базы данных.
Ниже приведены еще несколько характеристик именованных блоков.
- Эти блоки можно вызывать из других блоков.
- Структура блока такая же, как у анонимного блока, за исключением того, что он никогда не начинается с ключевого слова DECLARE. Вместо этого он будет начинаться с ключевого слова CREATE, которое инструктирует компилятор создать его как объект базы данных.
- Эти блоки могут быть вложены в другие блоки. Он также может содержать вложенные блоки.
- Именованные блоки в основном бывают двух типов:
- Процедура
- Функция
Резюме
После этого руководства вы должны знать о блоках PL / SQL и их типах, различных разделах блоков и их использовании. Подробное описание названных блоков PL / SQL будет рассмотрено в следующем руководстве.