Oracle Типы данных PL/SQL: логическое значение, число, дата [Пример]
Что такое типы данных 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'; Объяснение синтаксиса:
|
ВАРЧАР2 | Этот тип данных хранит строку, но длина строки не фиксирована.
|
manager VARCHAR2(10) := ‘guru99'; Объяснение синтаксиса:
|
ВАРЧАР | Это синоним типа данных VARCHAR2.
|
manager VARCHAR(10) := ‘guru99'; Объяснение синтаксиса:
|
НЧАР | Этот тип данных аналогичен типу данных CHAR, но набор символов будет соответствовать национальному набору символов.
|
native NCHAR(10); Объяснение синтаксиса:
|
НВАРЧАР2 |
Этот тип данных аналогичен типу данных 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
Этот тип данных хранит логические значения. 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 необходимо реплицировать вручную.
- Размер столбца LONG составляет 2 ГБ, тогда как LOB может хранить до 128 ТБ.
- Oracle постоянно совершенствует тип данных LOB в каждой своей версии в соответствии с современными требованиями, тогда как тип данных LONG является постоянным и не получает большого количества обновлений.
Поэтому всегда полезно использовать тип данных LOB вместо типа данных LONG. Ниже приведены различные типы данных LOB. Они могут хранить до 128 терабайт.
- Большой двоичный объект
- КЛОБ и НКЛОБ
- БФАЙЛ
Тип данных | Описание | Синтаксис |
---|---|---|
Большой двоичный объект | Этот тип данных хранит LOB-данные в формате двоичного файла до максимального размера 128 ТБ. Здесь не сохраняются данные на основе деталей набора символов, поэтому можно хранить неструктурированные данные, такие как мультимедийные объекты, изображения и т. д. |
Binary_data BLOB; Объяснение синтаксиса:
|
КЛОБ и НКЛОБ | Тип данных CLOB сохраняет данные LOB в наборе символов, тогда как NCLOB хранит данные в собственном наборе символов. Поскольку эти типы данных используют хранилище на основе набора символов, они не могут хранить такие данные, как мультимедиа, изображения и т. д., которые нельзя поместить в строку символов. Максимальный размер этих типов данных составляет 128 ТБ. |
Charac_data CLOB; Объяснение синтаксиса:
|
БФАЙЛ |
|
Резюме
Мы рассмотрели различные простые типы данных, доступные в PL/SQL вместе с их синтаксисом. Мы узнаем о сложных типах данных в дальнейших темах.