Блок PL/ SQL: СТРУКТУРА, Синтаксис, АНОНІМНИЙ приклад
Що таке блок PL/SQL?
У PL/SQL код не виконується в однорядковому форматі, а завжди виконується шляхом групування коду в один елемент під назвою Blocks. У цьому підручнику ви дізнаєтеся про ці блоки.
Блоки містять як PL/SQL, так і інструкції SQL. Усі ці інструкції виконуватимуться як одне ціле, а не по одній інструкції за раз.
Блокова структура
Блоки PL/SQL мають попередньо визначену структуру, у якій групується код. Нижче наведено різні розділи блоків PL/SQL.
- Розділ декларації
- Розділ виконання
- Розділ обробки винятків
На зображенні нижче показано різні блоки PL/SQL і порядок їх розділів.
Розділ декларації
Це перший розділ блоків PL/SQL. Цей розділ є необов'язковою частиною. Це розділ, у якому буде оголошено оголошення змінних, курсорів, винятків, підпрограм, прагма-інструкцій і колекцій, які потрібні в блоці. Нижче наведено ще кілька характеристик цієї частини.
- Цей конкретний розділ необов’язковий і його можна пропустити, якщо декларації не потрібні.
- Це має бути перший розділ у блоці PL/SQL, якщо він є.
- Цей розділ починається з ключового слова "DECLARE" для тригерів і анонімного блокування. Для інших підпрограм це ключове слово не буде присутнім. Натомість частина після визначення імені підпрограми позначає розділ оголошення.
- За цим розділом завжди слідувати розділ виконання.
Розділ виконання
Виконавча частина - це основна та обов'язкова частина, яка фактично виконує код, який написаний у ній. Оскільки PL / SQL очікує виконувані оператори з цього блоку, це не може бути порожнім блоком, тобто він повинен містити принаймні один дійсний рядок виконуваного коду. Нижче наведено ще кілька характеристик цієї частини.
- Він може містити як код PL/SQL, так і код SQL.
- Він може містити один або багато блоків усередині як вкладений блок.
- Цей розділ починається з ключового слова «ПОЧАТИ».
- Після цього розділу слід або «КІНЕЦЬ», або розділ обробки винятків (якщо є)
Розділ обробки винятків
Виняток неминучий у програмі, яка виникає під час виконання, і для обробки цього Oracle надав розділ обробки винятків у блоках. Цей розділ також може містити оператори PL/SQL. Це необов’язковий розділ блоків PL/SQL.
- Це розділ, де обробляється виняток, викликаний у блоці виконання.
- Цей розділ є останньою частиною блоку PL/SQL.
- Керування з цього розділу ніколи не може повернутися до блоку виконання.
- Цей розділ починається з ключового слова "ВИНЯТОК".
- За цим розділом завжди має стояти ключове слово "КІНЕЦЬ".
Ключове слово «END» позначає кінець блоку PL/SQL.
Синтаксис блоку PL/SQL
Нижче наведено синтаксис блокової структури PL/SQL.
DECLARE --optional
<declarations>
BEGIN --mandatory
<executable statements. At least one executable statement is mandatory>
EXCEPTION --optional
<exception handles>
END; --mandatory
/
Примітка: Після блоку завжди має стояти '/', який надсилає компілятору інформацію про кінець блоку.
Типи блоку PL/SQL
Блоки PL/SQL в основному бувають двох типів.
- Анонімні блоки
- Іменовані блоки
Анонімні блоки
Анонімні блоки — це блоки PL/SQL, яким не присвоєно жодних імен. Їх потрібно створювати та використовувати в одному сеансі, оскільки вони не зберігатимуться на сервері як об’єкти бази даних.
Оскільки їх не потрібно зберігати в базі даних, їм не потрібні кроки компіляції. Вони пишуться та виконуються безпосередньо, а компіляція та виконання відбуваються в одному процесі.
Нижче наведено ще кілька характеристик анонімних блоків.
- Для цих блоків не вказано жодного посилання.
- Ці блоки починаються з ключового слова "DECLARE" або "BEGIN".
- Оскільки ці блоки не мають назв посилань, їх неможливо зберегти для подальших цілей. Вони повинні бути створені та виконані в одній сесії.
- Вони можуть викликати інші названі блоки, але виклик анонімного блоку неможливий, оскільки він не має жодного посилання.
- У ньому може бути вкладений блок, який може бути іменованим або анонімним. Він також може бути вкладений у будь-які блоки.
- Ці блоки можуть мати всі три розділи блоку, в якому розділ виконання є обов’язковим, інші два розділи є необов’язковими.
Іменовані блоки
Іменовані блоки мають конкретні та унікальні назви. Вони зберігаються як об’єкти бази даних на сервері. Оскільки вони доступні як об’єкти бази даних, на них можна посилатися або використовувати, поки вони присутні на сервері. Процес компіляції для іменованих блоків відбувається окремо під час створення їх як об’єктів бази даних.
Нижче наведено ще кілька характеристик іменованих блоків.
- Ці блоки можна викликати з інших блоків.
- Структура блоку така ж, як і в анонімного блоку, за винятком того, що він ніколи не починається з ключового слова "DECLARE". Замість цього він буде починатися з ключового слова "CREATE", яке вказує компілятору створити його як об'єкт бази даних.
- Ці блоки можуть бути вкладені в інші блоки. Він також може містити вкладені блоки.
- Іменовані блоки в основному бувають двох типів:
- Процедура
- функція
Ми дізнаємось більше про ці іменовані блоки в розділах «Процедура» та «Функція» наступного посібника.
Підсумки
Після цього підручника ви повинні знати про блоки PL/SQL та їх типи, різні розділи блоків та їх використання. Детальний опис іменованих блоків PL/SQL буде розглянуто в наступному посібнику.


