Oracle Типи даних PL/SQL: Boolean, Number, Date [Приклад]
Що таке типи даних PL/SQL?
Типи даних у PL/SQL використовуються для визначення того, як дані зберігатимуться, оброблятимуться та оброблятимуться Oracle під час зберігання та обробки даних. Типи даних пов’язані з певним форматом зберігання та обмеженнями діапазону. в Oracle, кожному значенню або константі присвоюється тип даних.
Основна відмінність PL/SQL від SQL Типи даних SQL обмежені стовпцем таблиці, тоді як типи даних PL/SQL використовуються в Блоки PL/SQL. Детальніше про це далі в підручнику.
Далі наведено діаграму різних Oracle Типи даних PL/SQL:
Тип даних PL/SQL CHARACTER
Цей тип даних в основному зберігає буквено-цифрові символи в рядковому форматі.
Літеральні значення завжди слід брати в одинарні лапки під час призначення їх типу даних CHARACTER.
Цей тип символьних даних додатково класифікується наступним чином:
- CHAR Тип даних (фіксований розмір рядка)
- VARCHAR2 Тип даних (змінний розмір рядка)
- VARCHAR Тип даних
- NCHAR (власний фіксований розмір рядка)
- NVARCHAR2 (власний змінний розмір рядка)
- ДОВГИЙ і ДОВГИЙ СИРИЙ
Тип даних | Опис | синтаксис |
---|---|---|
CHAR | Цей тип даних зберігає значення рядка, а розмір рядка є фіксованим під час оголошення змінна.
|
grade CHAR; manager CHAR (10):= 'guru99'; Пояснення синтаксису:
|
VARCHAR2 | Цей тип даних зберігає рядок, але довжина рядка не є фіксованою.
|
manager VARCHAR2(10) := ‘guru99'; Пояснення синтаксису:
|
ВАРЧАР | Це синонім типу даних VARCHAR2.
|
manager VARCHAR(10) := ‘guru99'; Пояснення синтаксису:
|
NCHAR | Цей тип даних такий самий, як і тип даних CHAR, але набір символів буде відповідати національному набору символів.
|
native NCHAR(10); Пояснення синтаксису:
|
NVARCHAR2 |
Цей тип даних такий самий, як і тип даних VARCHAR2, але набір символів буде національним.
|
Native var NVARCHAR2(10):='guru99'; Пояснення синтаксису:
|
ДОВГИЙ і ДОВГИЙ | Цей тип даних використовується для зберігання великого тексту або необроблених даних розміром до 2 Гб.
|
Large_text LONG; Large_raw LONG RAW; Пояснення синтаксису:
Примітка: Використання типу даних LONG не рекомендовано Oracle. Натомість слід віддавати перевагу типу даних LOB. |
Тип даних PL/SQL NUMBER
Цей тип даних зберігає числа з фіксованою або плаваючою комою з точністю до 38 цифр. Цей тип даних використовується для роботи з полями, які будуть містити лише числові дані. Змінна може бути оголошена або з точністю та десятковими цифрами, або без цієї інформації. Під час призначення для цього типу даних значення не потрібно брати в лапки.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Пояснення синтаксису:
- У наведеному вище першому оголошенні оголошено, що змінна 'A' має тип даних числа із загальною точністю 8 і десятковими цифрами 2.
- Друга декларація оголошує, що змінна "B" має тип даних числа із загальною точністю 8 і без десяткових цифр.
- Третя декларація є найбільш загальною, оголошує, що змінна 'C' належить до числового типу даних без обмежень щодо точності чи десяткових знаків. Він може містити максимум 38 цифр.
Тип даних PL/SQL BOOLEAN
Цей тип даних зберігає логічні значення. Oracle Логічний тип даних представляє TRUE або FALSE і в основному використовується в умовних операторах. Під час призначення для цього типу даних значення не потрібно брати в лапки.
Var1 BOOLEAN;
Пояснення синтаксису:
- У наведеному вище змінну "Var1" оголошено як тип даних BOOLEAN. Вихід коду буде істинним або хибним залежно від встановленої умови.
Тип даних PL/SQL DATE
Цей тип даних зберігає значення у форматі дати, як число, місяць і рік. Щоразу, коли змінна визначається з типом даних DATE разом із датою, вона може містити інформацію про час, і за умовчанням для інформації про час встановлено значення 12:00:00, якщо не вказано. Під час призначення для цього типу даних значення потрібно брати в лапки.
Стандарт Oracle Формат часу для введення та виведення — «ДД-ПН-РР», і він знову встановлюється на NLS_PARAMETERS (NLS_DATE_FORMAT) на рівні сеансу.
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
Пояснення синтаксису:
- У наведеному вище змінній 'newyear' оголошено як тип даних DATE і їй присвоєно значення 1 січняst, дата 2015 року.
- Друга декларація оголошує змінну current_date як тип даних DATE і присвоює значення з поточною системною датою.
- Обидві ці змінні містять інформацію про час.
Тип даних LOB PL/SQL
Цей тип даних в основному використовується для зберігання та обробки великих блоків неструктурованих даних, таких як зображення, мультимедійні файли тощо. Oracle надає перевагу LOB замість типу даних LONG, оскільки він більш гнучкий, ніж тип даних LONG. Нижче наведено кілька головних переваг LOB над типом даних LONG.
- Кількість стовпців у таблиці з типом даних LONG обмежена 1, тоді як таблиця не має обмежень щодо кількості стовпців із типом даних LOB.
- Інструмент інтерфейсу даних приймає тип даних LOB таблиці під час реплікації даних, але пропускає стовпець LONG таблиці. Ці ДОВГІ стовпці потрібно відтворити вручну.
- Розмір стовпця LONG становить 2 ГБ, тоді як LOB може зберігати до 128 ТБ.
- Oracle постійно вдосконалює тип даних LOB у кожному зі своїх випусків відповідно до сучасних вимог, тоді як тип даних LONG є постійним і не отримує багато оновлень.
Отже, завжди добре використовувати тип даних LOB замість типу даних LONG. Нижче наведено різні типи даних LOB. Вони можуть зберігати розмір до 128 терабайт.
- ЛИСТОК
- CLOB і NCLOB
- BFILE
Тип даних | Опис | синтаксис |
---|---|---|
ЛИСТОК | Цей тип даних зберігає дані LOB у двійковому форматі файлу до максимального розміру 128 ТБ. Це не зберігає дані на основі деталей набору символів, тому може зберігати неструктуровані дані, такі як мультимедійні об’єкти, зображення тощо. |
Binary_data BLOB; Пояснення синтаксису:
|
CLOB і NCLOB | Тип даних CLOB зберігає дані LOB у наборі символів, тоді як NCLOB зберігає дані у власному наборі символів. Оскільки ці типи даних використовують сховище на основі набору символів, вони не можуть зберігати такі дані, як мультимедійні дані, зображення тощо, які не можна помістити в рядок символів. Максимальний розмір цих типів даних становить 128 ТБ. |
Charac_data CLOB; Пояснення синтаксису:
|
BFILE |
|
Підсумки
Ми розглянули різні прості типи даних, доступні в PL / SQL разом із їхнім синтаксисом. Ми дізнаємося про складні типи даних у наступних темах.