Что такое типы данных PL / SQL?
Тип данных связан с определенным форматом хранения и ограничениями диапазона. В Oracle каждому значению или константе присваивается тип данных.
По сути, он определяет, как данные хранятся, обрабатываются и обрабатываются Oracle во время хранения и обработки данных.
Основное различие между типами данных PL / SQL и SQL заключается в том, что тип данных SQL ограничен столбцом таблицы, в то время как типы данных PL / SQL используются в блоках PL / SQL. Подробнее об этом позже в руководстве.
Ниже приведена диаграмма различных типов данных в PL / SQL.
В этом руководстве вы узнаете:
- CHARACTER Тип данных
- NUMBER Тип данных
- Тип данных BOOLEAN
- Тип данных DATE
- Тип данных LOB
CHARACTER Тип данных:
Этот тип данных в основном хранит буквенно-цифровые символы в строковом формате.
Литеральные значения всегда должны быть заключены в одинарные кавычки при присвоении их типу данных CHARACTER.
Этот тип символьных данных дополнительно классифицируется следующим образом:
- CHAR Тип данных (фиксированный размер строки)
- VARCHAR2 Тип данных (размер переменной строки)
- VARCHAR Тип данных
- NCHAR (собственный фиксированный размер строки)
- NVARCHAR2 (размер собственной переменной строки)
- ДЛИННЫЙ и ДЛИННЫЙ RAW
Тип данных | Описание | Синтаксис |
---|---|---|
СИМВОЛ | Этот тип данных хранит строковое значение, а размер строки фиксируется во время объявления переменной.
|
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;Объяснение синтаксиса:
|
NUMBER Тип данных:
Этот тип данных хранит числа с фиксированной или плавающей запятой с точностью до 38 цифр. Этот тип данных используется для работы с полями, которые будут содержать только числовые данные. Переменная может быть объявлена либо с точностью до десятичных цифр, либо без этой информации. При присвоении этому типу данных значения не нужно заключать в кавычки.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Объяснение синтаксиса:
- В приведенном выше первом объявлении объявляется, что переменная A имеет числовой тип данных с общей точностью 8 и десятичными цифрами 2.
- Во втором объявлении объявляется, что переменная «B» имеет числовой тип данных с общей точностью 8 и без десятичных цифр.
- Третье объявление является наиболее общим, объявляет, что переменная «C» имеет числовой тип данных без ограничений в точности или десятичных разрядах. Он может содержать до 38 цифр.
BOOLEAN Тип данных:
Этот тип данных хранит логические значения. Он представляет собой ИСТИНА или ЛОЖЬ и в основном используется в условных операторах. При присвоении этому типу данных значения не нужно заключать в кавычки.
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 составляет 2 ГБ, тогда как LOB может хранить до 128 ТБ.
- Oracle постоянно улучшает тип данных LOB в каждом из своих выпусков в соответствии с современными требованиями, тогда как тип данных LONG является постоянным и не получает много обновлений.
Таким образом, всегда лучше использовать тип данных LOB вместо типа данных LONG. Ниже приведены различные типы данных LOB. Они могут хранить до 128 терабайт.
- BLOB
- CLOB и NCLOB
- BFILE
Тип данных | Описание | Синтаксис |
---|---|---|
BLOB |
Этот тип данных хранит данные LOB в двоичном формате до максимального размера 128 ТБ. Он не хранит данные, основанные на деталях набора символов, поэтому он может хранить неструктурированные данные, такие как мультимедийные объекты, изображения и т. Д. |
Binary_data BLOB; Объяснение синтаксиса:
|
CLOB и NCLOB |
Тип данных CLOB хранит данные LOB в наборе символов, тогда как NCLOB хранит данные в собственном наборе символов. Поскольку эти типы данных используют хранилище на основе набора символов, они не могут хранить данные, такие как мультимедиа, изображения и т. Д., Которые нельзя поместить в строку символов. Максимальный размер этих типов данных составляет 128 ТБ. |
Charac_data CLOB; Объяснение синтаксиса:
|
BFILE |
|
Резюме
Мы рассмотрели различные простые типы данных, доступные в PL / SQL, а также их синтаксис. Мы узнаем о сложных типах данных в следующих разделах.