Какво е PL / SQL типове данни?
Типът данни е свързан със специфичния формат за съхранение и ограничения на обхвата. В Oracle всяка стойност или константа се присвоява с тип данни.
По принцип той определя как данните се съхраняват, обработват и обработват от Oracle по време на съхранението и обработката на данните.
Основната разлика между типовете данни PL / SQL и SQL е, че типът данни SQL е ограничен до колона на таблица, докато типовете данни PL / SQL се използват в блоковете PL / SQL. Повече за това по-късно в урока.
Следва диаграмата на различни типове данни в PL / SQL
В този урок ще научите -
- ХАРАКТЕР Тип данни
- НОМЕР Тип данни
- Тип данни BOOLEAN
- ДАТА Тип данни
- LOB тип данни
ХАРАКТЕР Тип данни:
Този тип данни основно съхранява буквено-цифрови символи в низ формат.
Буквалните стойности винаги трябва да се затварят в единични кавички, докато се присвояват на тип данни CHARACTER.
Този тип данни за символи е допълнително класифициран, както следва:
- Тип данни CHAR (фиксиран размер на низа)
- VARCHAR2 Тип данни (променлив размер на низа)
- VARCHAR Тип данни
- NCHAR (роден фиксиран размер на низа)
- NVARCHAR2 (размер на родния променлив низ)
- ДЪЛГО и ДЪЛГО СУРОВО
Тип данни | Описание | Синтаксис |
---|---|---|
ЧАР | Този тип данни съхранява стойността на низа и размерът на низа е фиксиран по време на декларирането на променливата.
|
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';Обяснение на синтаксиса:
|
ДЪЛГО и ДЪЛГО СИЛО | Този тип данни се използва за съхраняване на голям текст или сурови данни до максимален размер от 2 GB.
|
Large_text LONG;Large_raw LONG RAW;Обяснение на синтаксиса:
|
НОМЕР Тип данни:
Този тип данни съхранява фиксирани или числа с плаваща запетая с точност до 38 цифри. Този тип данни се използва за работа с полета, които ще съдържат само числови данни. Променливата може да бъде декларирана или с точност и десетични цифри, или без тази информация. Стойностите не трябва да се затварят в кавички, докато се задава за този тип данни.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Обяснение на синтаксиса:
- В горното, първата декларация декларира променливата „A“ е от числови тип данни с обща точност 8 и десетични цифри 2.
- Втората декларация декларира променливата „B“ от тип данни с цифри с пълна точност 8 и без десетични цифри.
- Третата декларация е най-общата, декларира променливата „C“ е от числови тип данни без ограничение в точността или десетичните знаци. Това може да отнеме до максимум 38 цифри.
BOOLEAN Тип данни:
Този тип данни съхранява логическите стойности. Той представлява TRUE или FALSE и се използва главно в условни изрази. Стойностите не трябва да се затварят в кавички, докато се задава за този тип данни.
Var1 BOOLEAN;
Обяснение на синтаксиса:
- По-горе променливата „Var1“ е декларирана като тип данни BOOLEAN. Изходът на кода ще бъде или true или false въз основа на зададеното условие.
ДАТА Тип данни:
Този тип данни съхранява стойностите във формат на дата, като дата, месец и година. Всеки път, когато променлива е дефинирана с тип данни 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 колоната е 2GB, докато LOB може да съхранява до 128 TB.
- Oracle непрекъснато подобрява типа данни LOB във всяко тяхно издание в съответствие със съвременните изисквания, докато типът данни LONG е постоянен и не получава много актуализации.
Така че, винаги е добре да използвате LOB тип данни вместо LONG тип данни. Следват различните типове данни LOB. Те могат да съхраняват до размера на 128 терабайта.
- BLOB
- CLOB и NCLOB
- BFILE
Тип данни | Описание | Синтаксис |
---|---|---|
BLOB |
Този тип данни съхранява LOB данните във формат на двоичен файл до максималния размер от 128 TB. Това не съхранява данни въз основа на подробностите за набора от знаци, така че да може да съхранява неструктурирани данни като мултимедийни обекти, изображения и т.н. |
Binary_data BLOB; Обяснение на синтаксиса:
|
CLOB и NCLOB |
CLOB типът данни съхранява LOB данните в набора от символи, докато NCLOB съхранява данните в родния набор от символи. Тъй като тези типове данни използват съхранение, базирано на набор от символи, те не могат да съхраняват данните като мултимедия, изображения и т.н., които не могат да бъдат поставени в символен низ. Максималният размер на тези типове данни е 128 TB. |
Charac_data CLOB; Обяснение на синтаксиса:
|
BFILE |
|
Обобщение
Ние разгледахме различните прости типове данни, които се предлагат в PL / SQL, заедно с техния синтаксис. Ще научим за сложните типове данни в следващи теми.