Введення в типи даних PL / SQL
Часто виникає необхідність виконувати одні і ті ж запити SQL кілька разів і задовольняти цю потребу Oracle придумує PL / SQL на початку 90-х. Він розроблений для розширення можливостей SQL. Він вбудований у базу даних Oracle. PL / SQL - це розширення мови структурованих запитів у системі баз даних Oracle. Це процедурна мова, яка складається з трьох частин декларативної частини, яка може приймати будь-яку кількість параметрів, виконувану частину, що складається з SQL запитів та обробку винятків.
PL / SQL зберігається в базі даних у складеному вигляді і може бути позначений у коді зі своїм ім'ям. PL / SQL дозволяє розробнику маніпулювати даними за допомогою будь-якої логіки рішення, ітерації та багатьох інших функцій, підтримуваних процедурною мовою програмування.
Основні особливості PL / SQL
Основні характеристики PL / SQL наведені нижче:
- PL / SQL дозволяє розробнику виконувати будь-яку кількість запитів в одному блоці за допомогою однієї команди.
- PL / SQL може діяти як процедура, функції, тригери та типи, зберігаються в базі даних і можуть використовуватися додатками будь-яку кількість разів.
- На відміну від SQL, обробка помилок можлива в PL / SQL.
- PL / SQL повертає єдине скалярне значення.
Типи даних PL / SQL
Як і будь-яка інша мова, PL / SQL також має типи даних. давайте подивимось на деякі типи даних, визначені в PL / SQL
Тип даних PL / SQL |
Опис |
BINARY_INTEGER | Приймає цілі числові дані, підписані цілим числом в діапазоні від -2, 147, 483, 648 до 2, 147, 483, 647 і представлені в 32 бітах |
БЛОБ | Приймає двійкові дані |
BLOB (n) | Двійкові великі об'єктні дані, де діапазон n знаходиться в межах від 1 до 2 147 483 647 |
БУЛЕЙСЬКИЙ | Приймає істинні чи помилкові (логічні значення) |
ЗАРАЗ | Приймає рядкові дані фіксованої довжини 1 |
CHAR (n) | Дані рядка довжиною n |
CHAR VARYING (n) | Дані рядка символів змінної довжини, де n - максимальна межа |
ХАРАКТЕР | Це символьний рядок фіксованої довжини, а максимальний розмір може становити 32 767 байт. |
ХАРАКТЕР (n) | Рядок символів змінної довжини з максимальним розміром n |
ДАТА | Він використовується для зберігання даних дати-часу, який включає поля, такі як рік, місяць, день, година, хвилина, секунда та багато іншого. |
ДЕКІМАЛЬНИЙ | Приймає десяткові дані з максимальною точністю 38 десяткових цифр. |
ДВОЙНИЙ | Номер з плаваючою крапкою подвійної точності |
ПЛОС | Тип з плаваючою точкою з максимальною точністю 126 біт |
INT | це окремі чотирибайтові цілочисельні дані |
ІНТЕГЕР | це окремі чотирибайтові цілочисельні дані |
Приклади типів даних PL / SQL
Поки ми бачили різні типи даних, доступні в PL / SQL, давайте подивимось на приклад та побачимо, як ми можемо створювати та виконувати збережені процедури в PL / SQL
Процедури в PL / SQL - це підпрограма, яка складається з операторів SQL, процедури в Oracle зберігаються як об'єкт бази даних і має унікальне ім'я, за яким її можна буде посилати. Процедура може мати вкладений блок, який дозволяє розробнику виконувати будь-які логічні та арифметичні операції над даними.
Давайте подивимось на синтаксис збереженої процедури
Синтаксис:
СТВОРИТИ АБО ЗАМІНУВАННЯ
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
(
..
.
)
( IS | AS )
BEGIN
EXCEPTION
END;
Пояснення синтаксису:
- Ключові слова "створення або заміна" вказують компілятору створити об'єкт бази даних з іменем, вказаним у процедурі, ім'я процедури має бути унікальним, інакше компілятор видасть помилку.
- Тепер, коли ви маєте уявлення про синтаксис процедури, давайте напишемо дуже просту збережену процедуру та розберемося з різними її компонентами.
- Як і будь-яка інша мова програмування, ми почнемо з дуже простої програми Hello World. Ця збережена процедура прийме ім'я як вхідний дані та відобразить результат як Hello World від
СТВОРИТИ АБО ЗАМІНУВАННЯ ПРОЦЕДУРИ Друк_Повідомлення (ім’я В ВАРХАР2)
Код:
IS
BEGIN
dbms_output.put_line ('Hello World from '|| p_name);
END;
/
EXEC Print_Message ('Mohit');
Пояснення коду:
- Тут у першому рядку є ключове слово Створити або замінити, яке доручить компілятору створити збережену процедуру з ім'ям Print_Message, яка приймає Varchar2 як вхід, або замінить існуючу збережену процедуру тим самим іменем.
- Рядок dbms_output.put_line об'єднає Hello World із повідомленням із входом, який ви передаєте до процедури, та відобразить його на консолі.
- Для виклику збереженої процедури використовується ключове слово EXEC з значеннями параметрів у тих же типах даних, що визначені у збереженій процедурі.
Функції в PL / SQL
Функція в PL / SQL дуже схожа на збережену процедуру, єдина велика різниця в тому, що функція повинна мати повернене значення. Він повинен або повернути значення, або повинен створити виняток. Давайте подивимось деякі характеристики функцій в PL / SQL
- Функції, які в основному використовуються для маніпулювання даними, люблять виконувати основні логічні та арифметичні обчислення.
- Типова структура функції має 3 частини, тобто деклараційну частину, частину виконання та обробку помилок виключення.
- Якщо у функції немає жодного оператора DML, її можна викликати оператором select.
давайте подивимось синтаксис Функцій
Синтаксис:
СТВОРИТИ АБО ЗАМОВИТИ ФУНКЦІЮ
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
(
)
RETURN
( IS | AS )
BEGIN
EXCEPTION
END;
Пояснення синтаксису:
- Створіть ключове слово функції, яке доручить компілятору створити функцію, якщо її ще немає. Тип повернення даних є обов'язковим, знову ж таки назва функції має бути унікальною.
- Блок обробки винятків необов’язковий, але його завжди бажано мати.
Висновок
Тепер закінчимо підсумовуючи ключові моменти, про які ми говорили в цій статті, PL / SQL - це складений блок операторів SQL, які зберігаються в базі даних як об'єкт. Ці об'єкти можуть мати тип збережених процедур, функцій та типів. Ми бачили різні типи даних, які пропонуються в PL / SQL. Ми дізнаємось основні структури збережених процедур та функцій в PL / SQL та їх характеристики.
Рекомендовані статті
Це посібник щодо типів даних PL / SQL. Тут ми обговорюємо приклади з поясненням коду та основними особливостями pl / sql разом з функціями pl / sql. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Оператор CASE в PL / SQL
- TeraData проти Oracle
- Що роблять дані вчені?
- Важливість курсору в PL / SQL
- Киньте проти кидок | Топ 5 відмінностей, які ви повинні знати
- Різні типи даних SQL з прикладами