Що таке блок PL / SQL?
У PL / SQL код виконується не в однорядковому форматі, а завжди виконується шляхом групування коду в один елемент, який називається Блоки. У цьому підручнику ви збираєтеся дізнатися про ці блоки.
Блоки містять як PL / SQL, так і інструкції SQL. Всі ці вказівки будуть виконуватися в цілому, а не виконуватимуться по одній вказівці за раз.
У цьому підручнику ви дізнаєтесь:
- Що таке блок PL / SQL?
- Структура блоку
- Синтаксис блоку PL / SQL
- Типи блоків PL / SQL
Структура блоку
Блоки PL / SQL мають заздалегідь визначену структуру, в якій код повинен бути згрупований. Нижче наведені різні розділи блоків PL / SQL.
- Розділ декларації
- Розділ виконання
- Розділ про обробку винятків
На малюнку нижче показано різні блоки PL / SQL та порядок їх розділів.
Розділ декларацій
Це перший розділ блоків PL / SQL. Цей розділ є необов’язковою частиною. У цьому розділі буде оголошено декларацію змінних, курсорів, винятків, підпрограм, інструкцій прагми та колекцій, які потрібні в блоці. Нижче наведено ще кілька характеристик цієї частини.
- Цей конкретний розділ є необов’язковим і може бути пропущений, якщо не потрібні декларації.
- Це повинен бути перший розділ у блоці PL / SQL, якщо він присутній.
- Цей розділ починається з ключового слова "ЗАЯВИТИ" для тригерів та анонімного блоку. Для інших підпрограм цього ключового слова не буде. Натомість частина після визначення імені підпрограми позначає розділ декларації.
- Цей розділ завжди повинен супроводжуватися розділом виконання.
Розділ виконання
Частина виконання є основною та обов'язковою частиною, яка фактично виконує код, який записаний всередині неї. Оскільки PL / SQL очікує виконувані оператори від цього блоку, це не може бути порожнім блоком, тобто він повинен мати принаймні один дійсний рядок виконуваного коду. Нижче наведено ще кілька характеристик цієї частини.
- Він може містити як код PL / SQL, так і код SQL.
- Він може містити один або кілька блоків усередині нього як вкладений блок.
- Цей розділ починається з ключового слова "ПОЧАТИ".
- Цей розділ повинен супроводжуватися або "END", або розділом про обробку винятків (якщо він присутній)
Розділ про обробку винятків:
Виняток не уникнути в програмі, яка виникає під час виконання, і для обробки цього 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". Натомість він почнеться з ключового слова "CREATE", яке вказує компілятору створити його як об'єкт бази даних.
- Ці блоки можуть бути вкладені в інші блоки. Він також може містити вкладені блоки.
- Іменовані блоки в основному бувають двох типів:
- Процедура
- Функція
Резюме
Після цього підручника ви повинні знати про блоки PL / SQL та їх типи, різні розділи блоків та їх використання. Детальний опис названих блоків PL / SQL буде розглянуто в наступному посібнику.