Что такое типы данных PL / SQL?
Тип данных связан с конкретным форматом хранения и ограничениями диапазона. В Oracle каждому значению или константе присваивается тип данных.
По сути, он определяет, как данные хранятся, обрабатываются и обрабатываются Oracle во время хранения и обработки данных.
Основное различие между типами данных PL / SQL и SQL заключается в том, что тип данных SQL ограничен столбцом таблицы, а типы данных PL / SQL используются в блоках PL / SQL. Подробнее об этом позже в уроке.
Ниже приведена схема различных типов данных в PL / SQL.
В этом уроке вы узнаете
ХАРАКТЕР Тип данных:
Этот тип данных в основном хранит буквенно-цифровые символы в строковом формате.
Литеральные значения всегда должны быть заключены в одинарные кавычки при назначении их типу данных CHARACTER.
Этот символьный тип данных дополнительно классифицируется следующим образом:
- Тип данных CHAR (фиксированный размер строки)
- VARCHAR2 Тип данных (переменный размер строки)
- VARCHAR Тип данных
- NCHAR (собственный фиксированный размер строки)
- NVARCHAR2 (собственный размер строки переменной)
- ДОЛГОЙ И ДОЛГОЙ СЫРЬЕ
Тип данных | Описание | Синтаксис |
---|---|---|
CHAR | Этот тип данных хранит строковое значение, а размер строки фиксируется во время объявления переменной.
|
grade CHAR; manager CHAR (10):= 'guru99'; Синтаксис Объяснение:
|
VARCHAR2 | Этот тип данных хранит строку, но длина строки не является фиксированной.
|
manager VARCHAR2(10) := ‘guru99'; Синтаксис Объяснение:
|
VARCHAR | Это синоним типа данных 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 должен быть предпочтительным. |
НОМЕР Тип данных:
Этот тип данных хранит числа с фиксированной или плавающей точкой с точностью до 38 цифр. Этот тип данных используется для работы с полями, которые будут содержать только числовые данные. Переменная может быть объявлена либо с точностью до десятичных цифр, либо без этой информации. При назначении этому типу данных значения не обязательно заключать в кавычки.
A NUMBER(8,2); B NUMBER(8); C NUMBER;
Синтаксис Объяснение:
- В приведенном выше первом объявлении объявляется, что переменная «A» имеет числовой тип данных с полной точностью 8 и десятичными цифрами 2.
- Второе объявление объявляет, что переменная ‘B’ имеет числовой тип данных с полной точностью 8 и без десятичных цифр.
- Третье объявление является наиболее общим, объявляет переменную ‘C’ с числовым типом данных без ограничений по точности или десятичным разрядам. Это может занимать до 38 цифр.
БУЛЕВЫЙ Тип данных:
Этот тип данных хранит логические значения. Он представляет собой ИСТИНА или ЛОЖЬ и в основном используется в условных выражениях. При назначении этому типу данных значения не обязательно заключать в кавычки.
Var1 BOOLEAN;
Синтаксис Объяснение:
- Выше переменная Var1 объявлена как тип данных BOOLEAN. Вывод кода будет либо истинным, либо ложным в зависимости от установленного условия.
ДАТА Тип данных:
Этот тип данных хранит значения в формате даты в виде даты, месяца и года. Всякий раз, когда переменная определена с типом данных DATE вместе с датой, она может содержать информацию о времени, и по умолчанию информация о времени устанавливается в 12:00:00, если она не указана. При назначении этому типу данных значения должны быть заключены в кавычки.
Стандартный формат времени Oracle для ввода и вывода — «DD-MON-YY», и он снова устанавливается на NLS_PARAMETERS (NLS_DATE_FORMAT) на уровне сеанса.
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
Синтаксис Объяснение:
- В приведенном выше, переменная «Newyear» объявлен как тип DATE данных и присваивается значение Яном 1 — го , 2015 день.
- Второе объявление объявляет переменную current_date как тип данных DATE и присваивает значение с текущей системной датой.
- Обе эти переменные содержат информацию о времени.
Тип данных LOB:
Этот тип данных в основном используется для хранения и обработки больших блоков неструктурированных данных, таких как изображения, мультимедийные файлы и т. Д. Oracle предпочитает LOB вместо типа данных LONG, поскольку он более гибкий, чем тип данных LONG. Ниже приведены некоторые основные преимущества типа данных LOB над LONG.
- Количество столбцов в таблице с типом данных LONG ограничено 1, тогда как в таблице нет ограничений на количество столбцов с типом данных LOB.
- Инструмент интерфейса данных принимает тип данных LOB таблицы во время репликации данных, но не указывает столбец LONG таблицы. Эти столбцы LONG необходимо реплицировать вручную.
- Размер столбца LONG составляет 2 ГБ, тогда как LOB может хранить до 128 ТБ.
- Oracle постоянно улучшает тип данных LOB в каждом из своих выпусков в соответствии с современными требованиями, тогда как тип данных LONG постоянен и не получает много обновлений.
Таким образом, всегда хорошо использовать тип данных LOB вместо типа данных LONG. Ниже приведены различные типы данных больших объектов. Они могут хранить до 128 терабайт.
- большой двоичный объект
- CLOB и NCLOB
- BFILE
Тип данных | Описание | Синтаксис |
---|---|---|
большой двоичный объект |
Этот тип данных хранит данные больших объектов в двоичном формате до максимального размера 128 ТБ. Он не хранит данные, основанные на деталях набора символов, поэтому он может хранить неструктурированные данные, такие как мультимедийные объекты, изображения и т. Д. |
Binary_data BLOB; Синтаксис Объяснение:
|
CLOB и NCLOB |
Тип данных CLOB сохраняет данные LOB в наборе символов, тогда как NCLOB сохраняет данные в собственном наборе символов. Поскольку эти типы данных используют хранилище на основе набора символов, они не могут хранить такие данные, как мультимедиа, изображения и т. Д., Которые нельзя поместить в строку символов. Максимальный размер этих типов данных составляет 128 ТБ. |
Charac_data CLOB; Синтаксис Объяснение:
|
BFILE |
|
Резюме
Мы рассмотрели различные простые типы данных, доступные в PL / SQL, а также их синтаксис. Мы узнаем о сложных типах данных в следующих темах.