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 (размер на собствения променлив низ)
- ДЪЛГО и ДЪЛГО СУРОВО
Тип данни | Descriptйон | Синтаксис |
---|---|---|
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'; Обяснение на синтаксиса:
|
LONG и LONGRAW | Този тип данни се използва за съхраняване на голям текст или необработени данни до максималния размер от 2 GB.
|
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
Този тип данни съхранява стойностите във формат на дата, като дата, месец и година. Всеки път, когато дадена променлива е дефинирана с тип данни ДАТА заедно с датата, тя може да съдържа информация за времето и по подразбиране информацията за времето е зададена на 12:00:00, ако не е посочена. Стойностите трябва да бъдат затворени в кавички, докато присвоявате за този тип данни.
Стандарт Oracle форматът на времето за вход и изход е 'DD-MON-YY' и отново е зададен на NLS_PARAMETERS (NLS_DATE_FORMAT) на ниво сесия.
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
Обяснение на синтаксиса:
- В горното променливата „нова година“ е декларирана като тип данни ДАТА и й е присвоена стойността на 1 януариst, дата 2015 г.
- Втората декларация декларира променливата current_date като тип данни DATE и присвоява стойността с текущата системна дата.
- И двете променливи съдържат информация за времето.
PL/SQL LOB тип данни
Този тип данни се използва главно за съхраняване и манипулиране на големи блокове от неструктурирани данни като изображения, мултимедийни файлове и др. Oracle предпочита LOB вместо тип данни LONG, тъй като е по-гъвкав от типа данни LONG. По-долу са няколко основни предимства на LOB пред типа данни LONG.
- Броят на колоните в таблица с тип данни LONG е ограничен до 1, докато таблицата няма ограничение за броя на колоните с тип данни LOB.
- Инструментът за интерфейс на данни приема LOB тип данни на таблицата по време на репликация на данни, но пропуска колона LONG на таблицата. Тези ДЪЛГИ колони трябва да се копират ръчно.
- Размерът на колоната LONG е 2 GB, докато LOB може да съхранява до 128 TB.
- Oracle непрекъснато подобрява типа данни LOB във всяка от техните версии според съвременните изисквания, докато типът данни LONG е постоянен и не получава много актуализации.
Така че винаги е добре да използвате тип данни LOB вместо тип данни LONG. Следват различните типове LOB данни. Те могат да съхраняват до размер от 128 терабайта.
- петна
- CLOB и NCLOB
- BFILE
Тип данни | Descriptйон | Синтаксис |
---|---|---|
петна | Този тип данни съхранява LOB данните в двоичен файлов формат до максималния размер от 128 TB. Това не съхранява данни въз основа на подробностите за набора от символи, така че може да съхранява неструктурирани данни като мултимедийни обекти, изображения и др. |
Binary_data BLOB; Обяснение на синтаксиса:
|
CLOB и NCLOB | Типът данни CLOB съхранява LOB данните в набора от знаци, докато NCLOB съхранява данните в основния набор от знаци. Тъй като тези типове данни използват базирано на набор от символи съхранение, те не могат да съхраняват данни като мултимедия, изображения и т.н., които не могат да бъдат поставени в символен низ. Максималният размер на тези типове данни е 128 TB. |
Charac_data CLOB; Обяснение на синтаксиса:
|
BFILE |
|
Oбобщение
Покрихме различните прости типове данни, които са налични в PL / SQL заедно с техния синтаксис. Ще научим за сложните типове данни в следващите теми.