pl sql data types variables
Цей підручник детально пояснює, що таке типи даних SQL PL, змінні, константи та літерали за допомогою прикладів програмування:
У попередньому навчальному посібнику з PL / SQL серія , ми познайомилися з PL / SQL з його особливостями та основним синтаксисом на прикладах.
У цій статті ми обговоримо різні типи даних, які підтримує PL / SQL. Крім того, ми дослідимо змінні та константи, які широко використовуються в PL SQL.
PL / SQL-літерали також важливі, і ми дізнаємось про це в цьому посібнику разом із практичним використанням.
Що ви дізнаєтесь:
Pl Типи даних SQL
Усі змінні, константи, параметри PL / SQL мають певний тип даних, який визначає діапазон значень, обмеження та формат, у якому вони зберігаються. PL / SQL містить типи даних, такі як Large Object, також відомі як LOB, Scalar, Reference та Composite.
Скалярні типи даних
Спочатку обговоримо типи скалярних даних, які складаються з наступного:
- ЧИСЛОВИЙ типи даних, що мають справу зі значеннями, над якими виконуються математичні операції.
- БУЛІН типи даних, що мають справу зі значеннями, над якими виконуються логічні операції.
- ХАРАКТЕР типи даних, що мають справу зі значеннями, що складаються з буквено-цифрових.
- ДАТА, ЧАС типи даних.
Числові типи даних
Числовий тип даних PL / SQL складається з наступного:
- BINARY_FLOAT
- BINARY_INTERGER
- PLS_INTEGER
- BINARY_DOUBLE
- ДЕСЯТИЧНИЙ
- ЧИСЛОВИЙ
- НОМЕР
- ПЛАВАТИ
- INT
- ЦІЛИЙ
- ДВОЙНА ТОЧНІСТЬ
- РЕАЛЬНИЙ
- СМАЛІНТ
- DEC
Фрагмент коду з числовими типами даних:
DECLARE numA INTEGER := 10; numB NUMBER(10) := 10.8; numC DOUBLE PRECISION := 10.6; BEGIN dbms_output.put_line('The numA is: ' || numA); dbms_output.put_line('The numB is: ' || numB); dbms_output.put_line('The numC is: ' || numC); END; /
У наведеному вище коді ми маємо типи даних INTEGER, NUMBER та DOUBLE PRECISION зі змінними numA, numB та numC відповідно. numB має числовий тип даних з точністю до 10 і не має цифр після десяткової.
Результатом роботи вищезазначеного коду має бути:
Типи даних символів
Типи даних символів PL / SQL складаються з наступного, як зазначено нижче:
# 1) VARCHAR2: Цей тип даних буде зберігати рядок, але довжина рядка не визначена на момент оголошення. Максимальний розмір varchar2 - до 32767 байт. Максимальна ширина стовпця бази даних varchar2 - 4000 байт.
Синтаксис:
тест VARCHAR2 (20): = ‘SoftwareTest’;
# 2) CHAR: Цей тип даних буде зберігати рядок, але довжина рядка фіксована під час оголошення. Максимальний розмір символу - до 32767 байт. Максимальна ширина стовпця бази даних char становить 2000 байт.
Синтаксис:
тест CHAR2 (20): = «Тест програмного забезпечення»;
# 3) NCHAR: Це схоже на CHAR, але в ньому буде зберігатися лише національний набір символів. Максимальний розмір NCHAR - до 32767 байт. Максимальна ширина стовпця бази даних NCHAR - 2000 байт.
Синтаксис:
тест NCHAR2 (20);
# 4) ДОЛГО: Це буде зберігати рядки символів змінної довжини. Довжина має максимальний розмір до 32760 байт.
Синтаксис:
тест LONG;
# 5) ДОВГА РЯДКА: Це буде зберігати дані у двійковому форматі або в байтових рядках. Довгий рядок має максимальний розмір до 32760 байт.
що таке операційна система в комп'ютері - -
Синтаксис:
тест LONG ROW;
# 6) ШВИДКІ: Це фізичні ідентифікатори рядка, який вказує на адресу рядка в звичайній таблиці.
# 7) UROWID: Це універсальні ідентифікатори рядків.
# 8) NVARCHAR2: Це схоже на VARCHAR2, але він буде зберігати лише національний набір символів. Максимальна ширина стовпця бази даних nvarchar2 становить 4000 байт.
# 9) VARCHAR: Це схоже на VARCHAR2.
Синтаксис:
тест VARCHAR2 (20): = ‘SoftwareTest’;
Давайте тепер обговоримо типи даних символів PL / SQL у табличному форматі.
Sl No | Тип даних | Опис |
---|---|---|
7 | ВДОВГА | Це схоже на LONG. PL / SQL ці дані не інтерпретує. |
один | VARCHAR2 | Це використовується для зберігання символьних даних змінної довжини. Розмір встановлюється для змінних на момент оголошення. Завжди рекомендується використовувати VARCHAR2 для ефективного використання пам'яті. |
два | ЧАР | Це використовується для зберігання символьних даних фіксованої довжини. Розмір встановлюється для змінних на момент оголошення. Завжди рекомендується використовувати CHAR, коли потрібно використовувати дані фіксованого розміру. |
3 | ВАРЧАР | Це схоже на VARCHAR2. Завжди рекомендується використовувати VARCHAR під час реалізації коду. |
4 | NCHAR | Це використовується для зберігання даних символів, які мають фіксовані дані про національні символи. Набір символів - або UTF 8, або UTF 16. Завжди рекомендується конвертувати CHAR у NCHAR. Але перетворення NCHAR в CHAR може призвести до усічення даних. |
5 | NVARCHAR2 | Це використовується для зберігання даних символів, що мають дані національної символьної символі змінної довжини. Це схоже на VARCHAR2. Набір символів - або UTF 8, або UTF 16. Завжди рекомендується перетворити VARCHAR2 на NVARCHAR2. Але перетворення NVARCHAR2 у VARCHAR2 може призвести до усічення даних. |
6 | ДОВГОТА | Це використовується у словнику даних. Це в основному використовується в даних набору символів. |
Логічні типи даних
Ці типи даних PL / SQL можна використовувати для зберігання логічних значень. TRUE, FALSE і NULL - це логічні значення.
SQL не має типів даних BOOLEAN. Тому нам слід уникати їх у наступних сценаріях:
- Оператори PL / SQL, згенеровані з SQL.
- Функції PL / SQL за замовчуванням.
- Звичайні оператори SQL.
Синтаксис:
test Boolean;
Результатом тестової змінної буде TRUE або FALSE, залежно від певних критеріїв.
Дати Час Типи даних
Ці типи даних використовуються для постійної довжини дати та часу. Правильний діапазон дат починається з 1 січня 4712 р. До н. Е. До 31 грудня 9999 р. Н. Е., А час визначається в секундах. Вбудований формат дати - DD-MON-YY, що передбачає подвійні цифри, відведені для дня місяця, коротко назва місяця, а потім дві останні цифри року.
ДАТА складається з секунди, хвилини, дня, години, місяця, року та століття. Кожне з цих полів має визначений певний діапазон, як зазначено нижче:
- ДРУГИЙ: Він визначається в діапазоні від 00 до 59,9.
- ХВИЛИНА: Він визначається в діапазоні від 00 до 59.
- ГОДИНА: Він визначається в діапазоні від 00 до 23.
- ДЕНЬ: Він визначається в діапазоні від 01 до 31.
- МІСЯЦЬ: Він визначається в діапазоні від 01 до 12.
- РІК: Він визначається в діапазоні від -4712 до 9999 (що не включає 0).
- TIMEZONE_HOUR: Він визначається в діапазоні від -12 до 14.
- TIMEZONE_MINUTE: Він визначається в діапазоні від 00 до 59.
- TIMEZONE_REGION
- TIMEZONE_ABBR
Синтаксис:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Тут ми описали часовий пояс за допомогою символів. Специфікація США / Тихого океану або PDT використовується для визначення певного часового поясу. Форма PDT в основному використовується, оскільки вона дає вказівки при переході на літній час.
Типи даних LOB
Давайте тепер обговоримо типи даних LOB, які мають справу з величезними шматками даних, що складаються з відео, звуків, графіки, зображень тощо.
Типи даних LOB мають численні переваги перед довгими типами даних. Вони перелічені нижче:
- Long може вмістити 2 Гб, тоді як LOB може вмістити 128 Тб.
- Таблиця може мати один стовпець типу LONG, тоді як може бути безліч стовпців типу даних LOB.
- Тип даних LOB постійно вдосконалюється та оновлюється від Oracle, тоді як тип даних LONG не має багатьох удосконалень та оновлень.
Типи даних LOB перелічені нижче:
- BFILE: Це використовується для зберігання неструктурованих даних у двійковому форматі з бази даних як файлу операційної системи.
- NCLOB: Це використовується для зберігання величезних даних NCHAR у базі даних.
- КЛОБ: Це використовується для зберігання величезних даних символьного типу в базі даних.
Синтаксис:
Двійковий CLOB;
- BLOB: Це використовується для зберігання величезних двійкових даних у базі даних.
Синтаксис:
Двійковий BLOB;
Впровадження коду з деякими типами даних:
DECLARE m CHAR(20) := 'softwareTest!'; n VARCHAR2(30) := 'plsql'; o NCHAR(30) := 'plsql datatypes'; p NVARCHAR2(30) := 'plsql literals'; presentDt DATE:= SYSDATE; a INTEGER := 16; b NUMBER(20) := 11.2; c DOUBLE PRECISION := 14.7; BEGIN dbms_output.put_line('The char datatype is: ' || m); dbms_output.put_line('The varchar datatype is: ' || n); dbms_output.put_line('The nchar datatype is: ' || o); dbms_output.put_line('The nvarchar2 datatype is: ' || p); dbms_output.put_line('The current date is: ' || presentDt); dbms_output.put_line('The number a is: ' || a); dbms_output.put_line('The number b is: ' || b); dbms_output.put_line('The number c is: ' || c); END; /
Результатом роботи вищезазначеного коду має бути:
PL Змінні SQL
Назви змінних PL / SQL відповідають умовам іменування, яке складається з буквено-цифрових символів, не більше тридцяти. PL / SQL не враховує регістр, і ключові слова не повинні використовуватися як змінні.
Ім'я змінної має бути значущим і може супроводжуватися підкресленням (_), числом або доларом ($).
PL SQL Декларація змінних
Змінні PL / SQL повинні бути доступні в області декларації або бути присутніми в пакеті як глобальна змінна. PL / SQL резервує пам'ять для змінних, а місце зберігання визначається іменем змінної.
Синтаксис для оголошення змінної:
variable_name [CONSTANT] datatype [NOT NULL] [:= | DEFAULT initial_value]
Тут ім'я змінної - справжній ідентифікатор PL / SQL, а тип даних може бути визначеним користувачем або підтвердженим типом даних PL / SQL.
Реалізація коду для оголошення змінної:
DECLARE v_namis VARCHAR2(10); n_addressis NUMBER(10,3); BEGIN dbms_output.put_line('The name is: ' || v_namis); dbms_output.put_line('The address is: ' || n_addressis); END;
Результатом роботи вищезазначеного коду має бути:
Будь ласка, запиши, ми згадали як точність, так і розмір типу даних числа. Це відоме як обмежена декларація. Цей тип оголошення споживає менше пам'яті.
Ініціалізація змінних PL / SQL
За замовчуванням PL / SQL приймає значення змінної як NULL. Однак, якщо ми не хочемо ініціалізувати змінну за допомогою NULL, це може бути досягнуто або за допомогою ключового слова DEFAULT, або за допомогою оператора присвоєння.
Синтаксис:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Ми також можемо визначити, що змінна не повинна мати значення NULL, згадуючи обмеження NOT NULL. Однак, якщо використовується обмеження NOT NULL, ми повинні встановити значення для змінної.
Реалізація коду з ініціалізацією змінної:
DECLARE v_namis VARCHAR2(40) := 'softwareTest!'; n_couris VARCHAR2(30) := 'plsql'; BEGIN dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || n_couris); END; /
Результатом роботи вищезазначеного коду має бути:
Впровадження коду з концепцією призначення:
DECLARE v_namis VARCHAR2(40); n_couris VARCHAR2(30); BEGIN v_namis := 'softwareTest!'; n_couris := 'plsql'; dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || v_couris); END; /
Тут оператор присвоєння (=) використовується для присвоєння значень змінній.
Результатом роботи вищезазначеного коду має бути:
Область змінних PL / SQL
Блок PL / SQL може мати внутрішні блоки коду. Якщо оголошена змінна є частиною внутрішнього блоку, вона не може бути використана зовнішнім блоком. Але змінною, яка є частиною зовнішнього блоку, можна маніпулювати у внутрішньому блоці коду.
Ці типи змінних описані нижче:
- Глобальні змінні: Змінні, які оголошені у зовнішньому блоці або пакеті.
- Локальні змінні: Змінні, які оголошені у внутрішньому блоці коду, і до яких неможливо отримати доступ із зовнішнього блоку.
Впровадження коду з глобальними та локальними змінними:
DECLARE -- Global variables val number := 10; BEGIN dbms_output.put_line('Global variable is : ' || val); DECLARE -- Local variables val number := 100; BEGIN dbms_output.put_line('Local variable is: ' || val); END; END; /
Результатом роботи вищезазначеного коду має бути:
Будь ласка, запиши що результат тут, Глобальна змінна: 10 (через глобальну змінну val) і „Локальна змінна: 100 (через локальну змінну val).
PL / SQL Anchor
PL / SQL прив'язки визначаються за допомогою ключового слова% TYPE для оголошення змінних із типом даних, пов'язаним з типом даних цього конкретного стовпця таблиці.
Фрагмент коду з якорем:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Тут у нас є таблиця RESIDENT, і ми маємо справу зі стовпцями ІМЯ та АДРЕСА цієї таблиці.
Константи в PL / SQL
Константа зберігає значення, яке колись оголошено незмінним протягом усієї програми.
PL / SQL Постійна декларація
КОНСТАНТ Ключове слово використовується для визначення констант у програмі. Починається із заздалегідь визначеного значення, яке залишається незмінним протягом усієї програми.
Синтаксис для оголошення змінної:
const_name CONSTANT data type := val
Впровадження коду з константою:
DECLARE -- Constant p constant number := 3.141592654; -- Radius declarations r number(10,1); a_circle number(10,3); BEGIN -- Area calculation r := 9.4; a_circle := p * r * r; -- Output in console dbms_output.put_line('Area of circle: ' || a_circle); END; /
Результатом роботи вищезазначеного коду має бути:
Літерали в PL SQL
Булеве, числове або рядкове значення, яке не визначається ідентифікатором PL / SQL, називається літералом. Літерали чутливі до регістру і мають такі типи, як перераховано нижче:
- Булеві літерали [ Наприклад - FALSE, TRUE]
- Символьні літерали [ Наприклад - ‘s’, ‘7’, ‘)’]
- Струнні літерали [ Наприклад - «Тест програмного забезпечення»]
- Цифрові літерали [ Наприклад - 78, 04, 6.3]
- ДАТА та часові літерали [ Наприклад - ’25 -05-2012 ’]
Поширені запитання та відповіді
Q # 1) Які є типи даних у PL SQL?
Відповідь: Типи даних PL SQL є складеними та скалярними. Скалярні типи даних можуть містити одиничні значення, такі як Character, Number, Boolean і DateTime. У той час як складені типи даних зберігають більше одного значення, як збір та запис.
Q # 2) Що таке змінна PL / SQL?
Відповідь: Змінна PL SQL - це ім’я, яке допомагає розробнику тимчасово зберігати дані під час виконання програми. Це значуща назва, присвоєна зоні зберігання. Всі змінні в PL / SQL належать до певного типу даних.
Q # 3) Як передати параметр дати в PL / SQL?
Відповідь: Ми можемо передати параметр дати в PL / SQL за допомогою ключового слова DATE. Він має фіксований формат як 'РРРР-ММ-ДД'.
Q # 4) Як оголосити константу в PL / SQL?
Відповідь: Ми можемо оголосити константу в PL / SQL за допомогою ключового слова CONSTANT. Після CONSTANT ми повинні згадати значення, яке йому присвоєно. Це значення залишається фіксованим протягом усієї програми.
Q # 5) Скільки типів літералів доступні в PL / SQL?
Відповідь: Типи літералів у PL / SQL: Number, DateTime, Text та Integer.
Q # 6) Чи чутливі до змінних PL SQL регістри?
Відповідь: PL-змінні PL, включаючи зарезервовані слова, не враховують регістр. Наприклад, ПОЧАТИ і почати обидва служать одній меті.
Висновок
Велика частина PL / SQL, що стосується таких тем, як різні використовувані типи даних, їх важливість та змінні PL SQL, повинна бути зрозумілою вже після прочитання цього посібника.
Крім того, ми детально дослідили константи та літерали PL SQL. Пройдіть кожну з тем по одній, і повільно ви це освоїте. PL / SQL сьогодні використовується у галузях як для веб-розробки, так і для розробки серверів.
У наступному підручнику ми обговоримо вставку PL / SQL, оновлення, видалення, виписку та інші відповідні теми.
Слідкуймо за оновленням знань.
Рекомендована література
- Змінні Python
- Типи даних Python
- Типи даних і змінні C # з прикладами
- Параметризація даних JMeter за допомогою користувацьких змінних
- Підручник з Data Mart - типи, приклади та реалізація Data Mart
- Типи даних C ++
- Змінні Java та їх типи на прикладах
- SQL проти NoSQL Точні відмінності та знати, коли використовувати NoSQL та SQL