Шта су типови података ПЛ / СКЛ?
Тип података повезан је са одређеним форматом меморије и ограничењима опсега. У Орацле-у је свакој вредности или константи додељен тип података.
У основи дефинише начин на који Орацле чува, обрађује и обрађује податке током складиштења и обраде података.
Главна разлика између ПЛ / СКЛ и СКЛ типова података је што су СКЛ типови података ограничени на колону табеле док се ПЛ / СКЛ типови података користе у ПЛ / СКЛ блоковима. Више о томе касније у водичу.
Следи дијаграм различитих типова података у ПЛ / СКЛ
У овом упутству ћете научити-
- КАРАКТЕР Тип података
- БРОЈ Тип података
- БООЛЕАН тип података
- ДАТУМ Тип података
- ЛОБ тип података
КАРАКТЕР Тип података:
Овај тип података у основи чува алфанумеричке знакове у формату низа.
Вредности буквала увек треба да буду затворене у појединачне наводнике док их додељујете типу података ЦХАРАЦТЕР.
Овај тип података о знаковима даље је класификован на следећи начин:
- ЦХАР тип података (фиксна величина низа)
- ВАРЦХАР2 Тип података (променљива величина низа)
- ВАРЦХАР Тип података
- НЦХАР (изворна фиксна величина низа)
- НВАРЦХАР2 (нативна променљива величина низа)
- ДУГО И ДУГО СИРОВО
Тип података | Опис | Синтакса |
---|---|---|
ЦХАР | Овај тип података чува вредност низа, а величина низа је фиксна у тренутку декларисања променљиве.
|
grade CHAR;manager CHAR (10):= 'guru99';Објашњење синтаксе:
|
ВАРЦХАР2 | Овај тип података чува низ, али дужина низа није фиксна.
|
manager VARCHAR2(10) := ‘guru99';Објашњење синтаксе:
|
ВАРЦХАР | Ово је синоним за тип података ВАРЦХАР2.
|
manager VARCHAR(10) := ‘guru99';Објашњење синтаксе:
|
НЦХАР | Овај тип података је исти као тип података ЦХАР, али скуп знакова ће бити национални скуп знакова.
|
native NCHAR(10);Објашњење синтаксе:
|
НВАРЦХАР2 | Овај тип података је исти као тип података ВАРЦХАР2, али скуп знакова биће националног скупа знакова.
|
Native var NVARCHAR2(10):='guru99';Објашњење синтаксе:
|
ДУГА и ДУГА | Овај тип података користи се за чување великог текста или сирових података до максималне величине 2 ГБ.
|
Large_text LONG;Large_raw LONG RAW;Објашњење синтаксе:
|
НУМБЕР тип података:
Овај тип података чува фиксне бројеве или бројеве с помичном тачком до прецизности до 38 цифара. Овај тип података користи се за рад са пољима која ће садржати само бројевне податке. Променљива се може декларисати са прецизношћу и децималним цифрама или без ових информација. Вредности не морају бити затворене у наводнике док додељујете овом типу података.
A NUMBER(8,2);B NUMBER(8);C NUMBER;
Објашњење синтаксе:
- У претходном делу, прва декларација декларише променљиву „А“ типа броја са укупном прецизношћу 8 и децималним цифрама 2.
- Друга декларација изјављује да је променљива „Б“ бројачког типа са укупном прецизношћу 8 и без децималних цифара.
- Трећа декларација је најопштија, декларише променљиву 'Ц' бројевног типа података без ограничења у прецизности или децималним местима. То може трајати до највише 38 цифара.
БООЛЕАН тип података:
Овај тип података чува логичке вредности. Представља тачно или нетачно и углавном се користи у условним исказима. Вредности не морају бити затворене у наводнике док додељујете овом типу података.
Var1 BOOLEAN;
Објашњење синтаксе:
- У горе наведеном, променљива 'Вар1' је декларисана као БООЛЕАН тип података. Излаз кода ће бити тачан или нетачан на основу постављеног услова.
ДАТУМ Тип података:
Овај тип података чува вредности у формату датума, као датум, месец и годину. Кад год је променљива дефинисана типом података ДАТУМ заједно са датумом, може садржати информације о времену и подразумевано је подешена на 12:00:00 ако није наведена. Вредности је потребно приложити у наводнике док додељујете овом типу података.
Стандардни Орацле формат времена за улаз и излаз је 'ДД-МОН-ИИ' и поново је постављен на НЛС_ПАРАМЕТЕРС (НЛС_ДАТЕ_ФОРМАТ) на нивоу сесије.
newyear DATE:='01-JAN-2015';current_date DATE:=SYSDATE;
Објашњење синтаксе:
- У горе наведеном, променљива „невиеар“ је декларисана као ДАТУМ типа података и додељена јој је вредност 1. јануара 2015. године.
- Друга декларација декларише променљиву цуррент_дате као тип података ДАТЕ и додељује јој вредност са тренутним системским датумом.
- Обе ове променљиве садрже информације о времену.
ЛОБ тип података:
Овај тип података се углавном користи за складиштење и манипулацију великим блоковима неструктурираних података попут слика, мултимедијалних датотека итд. Орацле преферира ЛОБ уместо ЛОНГ типа података јер је флексибилнији од ЛОНГ типа података. Испод је неколико главних предности ЛОБ-а у односу на ЛОНГ тип података.
- Број колона у табели са ЛОНГ типом података ограничен је на 1, док табела нема ограничење на број колона са ЛОБ типом података.
- Алат за интерфејс података прихвата ЛОБ тип података табеле током репликације података, али изоставља ЛОНГ ступац табеле. Ове ЛОНГ колоне треба ручно копирати.
- Величина ЛОНГ колоне је 2 ГБ, док ЛОБ може да ускладишти до 128 ТБ.
- Орацле непрестано побољшава тип података ЛОБ у сваком издању у складу са савременим захтевима, док је тип података ЛОНГ константан и не добија много ажурирања.
Дакле, увек је добро користити тип података ЛОБ уместо тип података ЛОНГ. Следе различити типови података ЛОБ. Могу да ускладиште до величине 128 терабајта.
- БЛОБ
- ЦЛОБ и НЦЛОБ
- БФИЛЕ
Тип података | Опис | Синтакса |
---|---|---|
БЛОБ |
Овај тип података чува ЛОБ податке у бинарном формату датотеке до максималне величине 128 ТБ. Ово не чува податке на основу детаља скупа знакова, тако да може да ускладишти неструктуриране податке као што су мултимедијални објекти, слике итд. |
Binary_data BLOB; Објашњење синтаксе:
|
ЦЛОБ и НЦЛОБ |
ЦЛОБ тип података чува ЛОБ податке у скупу знакова, док НЦЛОБ податке чува у изворном скупу знакова. Пошто ови типови података користе меморију засновану на скупу знакова, они не могу да чувају податке попут мултимедије, слика итд. Који се не могу ставити у низ знакова. Максимална величина ових типова података је 128 ТБ. |
Charac_data CLOB; Објашњење синтаксе:
|
БФИЛЕ |
|
Резиме
Покрили смо различите једноставне типове података који су доступни у ПЛ / СКЛ заједно са њиховом синтаксом. О сложеним типовима података сазнаћемо у даљим темама.