pl sql data types variables
Овај водич детаљно објашњава шта су ПЛ СКЛ типови података, променљиве, константе и литерале уз помоћ примера програмирања:
У претходном водичу ПЛ / СКЛ серија , упознали смо се са ПЛ / СКЛ-ом са његовим карактеристикама и основном синтаксом са примерима.
У овом чланку ћемо размотрити различите типове података које ПЛ / СКЛ подржава. Такође ћемо истражити променљиве и константе које се опсежно користе у ПЛ СКЛ-у.
ПЛ / СКЛ литерали су такође важни и о томе ћемо научити у овом упутству заједно са његовом практичном употребом.
Шта ћете научити:
Пл СКЛ типови података
Све променљиве, константе, параметри ПЛ / СКЛ имају одређени тип података који дефинише опсег вредности, ограничења и формат у којем су ускладиштене. ПЛ / СКЛ садржи типове података попут Ларге Објецт такође познат као ЛОБ, Сцалар, Референце и Цомпосите.
Скаларни типови података
Прво разговарајмо о скаларним типовима података који се састоје од следећег:
- НУМЕРИЦ типови података који се баве вредностима на којима се врше математичке операције.
- БООЛЕАН типови података који се баве вредностима на којима се раде логичке операције.
- КАРАКТЕР типови података који се баве вредностима које се састоје од алфанумеричких.
- ДАТУМ ВРЕМЕ типови података.
Нумерички типови података
Нумерички тип података ПЛ / СКЛ састоји се од следећег:
- БИНАРИ_ФЛОАТ
- БИНАРИ_ИНТЕРГЕР
- ПЛС_ИНТЕГЕР
- БИНАРИ_ДОУБЛЕ
- ДЕЦИМАЛАН
- НУМЕРИЦ
- БРОЈ
- ПЛОВАК
- ИНТ
- ИНТЕГЕР
- ДУПЛА ПРЕЦИЗНОСТ
- ПРАВИ
- СМАЛЛИНТ
- ДЕЦ
Исјечак кода с нумеричким врстама података:
DECLARE numA INTEGER := 10; numB NUMBER(10) := 10.8; numC DOUBLE PRECISION := 10.6; BEGIN dbms_output.put_line('The numA is: ' || numA); dbms_output.put_line('The numB is: ' || numB); dbms_output.put_line('The numC is: ' || numC); END; /
У горњем коду имамо врсте података ИНТЕГЕР, НУМБЕР и ДОУБЛЕ ПРЕЦИСИОН са променљивим нумА, нумБ и нумЦ. нумБ има нумерички тип података са прецизношћу 10 и нема цифре након децималног броја.
Резултат горњег кода треба да буде:
Типови података о знаковима
Типови података знакова ПЛ / СКЛ састоје се од следећег као што је наведено у наставку:
# 1) ВАРЦХАР2: Овај тип података чува низ, али дужина низа није фиксна у тренутку декларације. Варцхар2 има максималну величину до 32767 бајтова. Максимална ширина ступца базе података варцхар2 је 4000 бајтова.
Синтакса:
тест ВАРЦХАР2 (20): = „СофтвареТест“;
# 2) ЦХАР: Овај тип података чува низ, али дужина низа је фиксна у тренутку декларације. Цхар има максималну величину до 32767 бајтова. Максимална ширина ступца базе података цхар износи 2000 бајтова.
Синтакса:
тест ЦХАР2 (20): = „СофтвареТест“;
# 3) НЦХАР: Ово је слично ЦХАР-у, али чуваће само национални скуп знакова. НЦХАР има максималну величину до 32767 бајтова. Максимална ширина колоне базе података НЦХАР је 2000 бајтова.
Синтакса:
тест НЦХАР2 (20);
# 4) ДУГО: Ово ће сачувати низове знакова променљиве дужине. Лонг има максималну величину до 32760 бајтова.
Синтакса:
тест ЛОНГ;
# 5) ДУГ РЕД: Ово ће похранити податке у бинарном формату или бајт-низовима. Дугачки ред има максималну величину до 32760 бајтова.
како да постанем испитивач производа
Синтакса:
тест ДУГ РЕД;
# 6) РАВНО: То су физички идентификатори реда који упућује на адресу реда у нормалној табели.
# 7) УРОВИД: То су универзални идентификатори редова.
# 8) НВАРЦХАР2: Ово је слично ВАРЦХАР2, али чуваће само национални скуп знакова. Максимална ширина колоне базе података нварцхар2 је 4000 бајтова.
# 9) ВАРЦХАР: Ово је слично ВАРЦХАР2.
Синтакса:
тест ВАРЦХАР2 (20): = „СофтвареТест“;
Размотримо сада типове података о знаковима ПЛ / СКЛ у табеларном формату.
Сл Но. | Тип података | Опис |
---|---|---|
7 | ДУГО | Ово је слично ЛОНГ-у. ПЛ / СКЛ не тумачи ове податке. |
1 | ВАРЦХАР2 | Ово се користи за чување података о знаковима променљиве дужине. Величина је постављена за променљиве у тренутку декларације. Увек се препоручује употреба ВАРЦХАР2 за ефикасно коришћење меморије. |
два | ЦХАР | Ово се користи за чување података о знаковима који су фиксне дужине. Величина је постављена за променљиве у тренутку декларације. Увек се препоручује употреба ЦХАР када се користе подаци фиксне величине. |
3 | ВАРЦХАР | Ово је слично ВАРЦХАР2. Увек се препоручује употреба ВАРЦХАР-а током примене кода. |
4 | НЦХАР | Ово се користи за чување података о знаковима који имају фиксне податке о националним знаковима. Скуп знакова је или УТФ 8 или УТФ 16. Увек се препоручује претварање ЦХАР у НЦХАР. Али претварање НЦХАР у ЦХАР може довести до кршења података. |
5 | НВАРЦХАР2 | Ово се користи за чување података о знаковима који имају променљиве дужине података о националним знаковима. Ово је слично ВАРЦХАР2. Скуп знакова је или УТФ 8 или УТФ 16. Увек се препоручује претварање ВАРЦХАР2 у НВАРЦХАР2. Али претварање НВАРЦХАР2 у ВАРЦХАР2 може довести до скраћивања података. |
6 | ЛОНГ | Ово се користи у речнику података. Ово се првенствено користи у подацима скупа знакова. |
Логички типови података
Ови типови података ПЛ / СКЛ могу се користити за чување логичких вредности. ТРУЕ, ФАЛСЕ и НУЛЛ су логичке вредности.
СКЛ нема типове података БООЛЕАН. Зато их морамо избегавати у следећим сценаријима:
- ПЛ / СКЛ изрази генерисани из СКЛ-а.
- Подразумеване функције ПЛ / СКЛ-а.
- Уобичајени СКЛ изрази.
Синтакса:
test Boolean;
Резултат тест варијабле биће ТРУЕ или ФАЛСЕ у зависности од одређених критеријума.
Врсте података о датуму и времену
Ови типови података користе се за константне дужине датума и времена. Одговарајући распон датума почиње од 1. јануара 4712. пре нове ере до 31. децембра 9999. године, а време је одређено у секундама. Уграђени формат датума је ДД-МОН-ИИ који подразумева двоцифрене вредности додељене за дан у месецу, назив месеца укратко, а затим последње две цифре у години.
ДАТУМ се састоји од секунде, минута, дана, сата, месеца, године и века. Свако од ових поља има дефинисани специфични опсег како је наведено у наставку:
- ДРУГО: Дефинисан је у распону од 00 до 59,9.
- МИНУТ: Дефинисан је у опсегу од 00 до 59.
- САТ: Дефинисан је у опсегу од 00 до 23.
- ДАН: Дефинисан је у опсегу од 01 до 31.
- МЕСЕЦ ДАНА: Дефинисан је у опсегу од 01 до 12.
- ГОДИНА: Дефинисан је у опсегу од -4712 до 9999 (који не укључује 0).
- ТИМЕЗОНЕ_ХОУР: Дефинисан је у опсегу од -12 до 14.
- ТИМЕЗОНЕ_МИНУТЕ: Дефинисан је у опсегу од 00 до 59.
- ТИМЕЗОНЕ_РЕГИОН
- ТИМЕЗОНЕ_АББР
Синтакса:
TIMESTAMP '1990-06-04 9:00:00 US/Pacific' TIMESTAMP '1990-06-04 01:30:00 US/Pacific PDT'
Овде смо описали временску зону помоћу симбола. Америчка / Пацифичка или ПДТ спецификација се користи за дефинисање одређене временске зоне. ПДТ образац се углавном користи јер даје смернице приликом преласка на летње рачунање времена.
Типови података ЛОБ
Размотримо сада типове података ЛОБ који се баве огромним деловима података који се састоје од видео записа, звукова, графика, слика итд.
ЛОБ типови података имају бројне предности у односу на дугачке типове података. Они су наведени у наставку:
- Лонг може да прими 2ГБ, док ЛОБ може да стане 128ТБ.
- Табела може имати један ступац типа ЛОНГ док могу бити бројне колоне типа података ЛОБ.
- Тип података ЛОБ пролази кроз стална побољшања и ажурирања из Орацле-а, док ЛОНГ тип података нема пуно побољшања и ажурирања.
Типови података ЛОБ наведени су у наставку:
- БФИЛЕ: Ово се користи за задржавање неструктурираних података у бинарном формату из базе података као датотеке оперативног система.
- НЦЛОБ: Ово се користи за чување огромних НЦХАР података у бази података.
- ЦЛОБ: Ово се користи за чување огромних података типа карактера у бази података.
Синтакса:
Бинарни ЦЛОБ;
- БЛОБ: Ово се користи за чување огромних бинарних података у бази података.
Синтакса:
Бинарни БЛОБ;
Имплементација кода са неким врстама података:
DECLARE m CHAR(20) := 'softwareTest!'; n VARCHAR2(30) := 'plsql'; o NCHAR(30) := 'plsql datatypes'; p NVARCHAR2(30) := 'plsql literals'; presentDt DATE:= SYSDATE; a INTEGER := 16; b NUMBER(20) := 11.2; c DOUBLE PRECISION := 14.7; BEGIN dbms_output.put_line('The char datatype is: ' || m); dbms_output.put_line('The varchar datatype is: ' || n); dbms_output.put_line('The nchar datatype is: ' || o); dbms_output.put_line('The nvarchar2 datatype is: ' || p); dbms_output.put_line('The current date is: ' || presentDt); dbms_output.put_line('The number a is: ' || a); dbms_output.put_line('The number b is: ' || b); dbms_output.put_line('The number c is: ' || c); END; /
Резултат горњег кода треба да буде:
ПЛ СКЛ променљиве
Имена ПЛ / СКЛ променљивих прате конвенцију именовања која се састоји од алфанумеричких знакова не више од тридесет. ПЛ / СКЛ не разликује велика и мала слова и кључне речи се не би смеле користити као променљива.
Име променљиве требало би да има значење и иза њега може да стоји доња црта (_), број или долар ($).
ПЛ СКЛ декларација променљиве
Променљиве ПЛ / СКЛ морају бити доступне у подручју декларације или у пакету као глобална променљива. ПЛ / СКЛ резервише меморију за променљиве и место складишта је дефинисано именом променљиве.
Синтакса за декларацију променљиве:
variable_name [CONSTANT] datatype [NOT NULL] [:= | DEFAULT initial_value]
Овде је име_променљиве аутентични ПЛ / СКЛ идентификатор, а тип података може бити кориснички дефинисан или потврђен ПЛ / СКЛ тип података.
Имплементација кода за декларацију променљиве:
DECLARE v_namis VARCHAR2(10); n_addressis NUMBER(10,3); BEGIN dbms_output.put_line('The name is: ' || v_namis); dbms_output.put_line('The address is: ' || n_addressis); END;
Резултат горњег кода треба да буде:
Молим обратите пажњу, споменули смо и прецизност и величину типа података броја. Ово је познато као ограничена декларација. Ова врста декларације троши мање меморије.
ПЛ / СКЛ иницијализација променљивих
ПЛ / СКЛ подразумевано узима вредност променљиве као НУЛЛ. Међутим, ако не желимо да иницијализујемо променљиву са НУЛЛ, то се може постићи или помоћу кључне речи ДЕФАУЛТ или помоћу оператора доделе.
Синтакса:
num integer := 50; test varchar(40) DEFAULT 'Software Test Help';
Такође можемо дефинисати да променљива не би требало да има вредност НУЛЛ помињањем ограничења НОТ НУЛЛ. Међутим, ако се користи ограничење НОТ НУЛЛ, морамо поставити вредност за променљиву.
Имплементација кода са иницијализацијом променљивих:
DECLARE v_namis VARCHAR2(40) := 'softwareTest!'; n_couris VARCHAR2(30) := 'plsql'; BEGIN dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || n_couris); END; /
Резултат горњег кода треба да буде:
Имплементација кода са концептом додељивања:
DECLARE v_namis VARCHAR2(40); n_couris VARCHAR2(30); BEGIN v_namis := 'softwareTest!'; n_couris := 'plsql'; dbms_output.put_line('The value is: ' || v_namis); dbms_output.put_line('The value is: ' || v_couris); END; /
Овде се оператор додељивања (=) користи за додељивање вредности променљивој.
Резултат горњег кода треба да буде:
ПЛ / СКЛ променљиви опсег
ПЛ / СКЛ блок може имати унутрашње блокове кода. Ако је променљива која је декларисана део унутрашњег блока, спољни блок је не може користити. Али променљивом која је део спољног блока може се манипулисати у унутрашњем блоку кода.
Ове врсте променљивих су описане у наставку:
- Глобалне променљиве: Променљиве које су декларисане у спољном блоку или пакету.
- Локалне променљиве: Променљиве које су декларисане у унутрашњем блоку кода и којима се не може приступити из спољног блока.
Имплементација кода са глобалним и локалним променљивим:
DECLARE -- Global variables val number := 10; BEGIN dbms_output.put_line('Global variable is : ' || val); DECLARE -- Local variables val number := 100; BEGIN dbms_output.put_line('Local variable is: ' || val); END; END; /
Резултат горњег кода треба да буде:
Молим обратите пажњу да је излаз овде, Глобална променљива: 10 (због глобалне променљиве вал) и „Локална променљива је: 100 (због локалне променљиве вал).
ПЛ / СКЛ сидро
ПЛ / СКЛ сидра су дефинисана кључном речи% ТИП за декларацију променљивих са типом података повезаним са типом података те одређене колоне табеле.
Фрагмент кода са сидром:
DECLARE v_namis RESSIDENT.NAME%TYPE; n_addessis RESSIDENT.ADDRESS%TYPE; BEGIN NULL; END; /
Овде имамо табелу РЕСИДЕНТ и имамо посла са колонама ИМЕ и АДРЕСА те табеле.
Константе у ПЛ / СКЛ
Константа задржава вредност која је једном проглашена непромењеном током целог програма.
ПЛ / СКЛ константна декларација
Тхе КОНСТАНТНО Кључна реч се користи за дефинисање константи у програму. Почиње са унапред дефинисаном вредношћу која остаје иста током целог програма.
Синтакса за декларацију променљиве:
const_name CONSTANT data type := val
Имплементација кода са константом:
DECLARE -- Constant p constant number := 3.141592654; -- Radius declarations r number(10,1); a_circle number(10,3); BEGIN -- Area calculation r := 9.4; a_circle := p * r * r; -- Output in console dbms_output.put_line('Area of circle: ' || a_circle); END; /
Резултат горњег кода треба да буде:
Литература у ПЛ СКЛ
Вредност логичке, нумеричке вредности или низа која није дефинисана ПЛ / СКЛ идентификатором назива се литерал. Буквали разликују велика и мала слова и следећих су врста као што је наведено у наставку:
- Боолеан Литералс [ На пример - НЕТОЧНО, ТАЧНО]
- Цхарацтер Литералс [ На пример - „с“, „7“, „)“]
- Стринг Литералс [ На пример - „тест софтвера“]
- Нумерички литерали [ На пример - 78, 04, 6.3]
- ДАТУМ и време Литература [ На пример - ’25 -05-2012 ’]
Често постављана питања и одговори
К # 1) Који су типови података у ПЛ СКЛ-у?
Одговор: ПЛ СКЛ типови података су сложени и скаларни. Скаларни типови података могу садржати појединачне вредности као што су Цхарацтер, Нумбер, Боолеан и ДатеТиме. Док сложени типови података чувају више од једне вредности као што су прикупљање и запис.
К # 2) Шта је ПЛ / СКЛ променљива?
Одговор: ПЛ СКЛ променљива је име које помаже програмеру да привремено складишти податке током извршавања програма. То је сувисло име додељено простору за складиштење. Све променљиве у ПЛ / СКЛ припадају одређеном типу података.
П # 3) Како проследити параметар датума у ПЛ / СКЛ?
Одговор: Параметар датума можемо проследити у ПЛ / СКЛ уз помоћ кључне речи ДАТЕ. Следи фиксни формат као „ГГГГ-ММ-ДД“.
К # 4) Како се декларише константа у ПЛ / СКЛ?
Одговор: Константу у ПЛ / СКЛ можемо прогласити уз помоћ кључне речи ЦОНСТАНТ. Након ЦОНСТАНТ, морамо споменути вредност која му је додељена. Ова вредност остаје фиксна током читавог програма.
К # 5) Колико врста литерала је доступно у ПЛ / СКЛ?
Одговор: Типови литерала у ПЛ / СКЛ су Нумбер, ДатеТиме, Тект и Интегер.
К # 6) Да ли ПЛ СКЛ променљиве разликују велика и мала слова?
Одговор: ПЛ СКЛ променљиве, укључујући резервисане речи, не разликују велика и мала слова. На пример, ПОЧНИТЕ и започните оба служе у исту сврху.
Закључак
Велики део ПЛ / СКЛ-а који се бави темама као што су различити типови података који се користе и њихов значај и променљиве ПЛ СКЛ-а требало би да буду разумљиви већ након читања овог водича.
Такође, детаљно смо истражили ПЛ СКЛ константе и литерале. Прођите кроз сваку од тема једну по једну и полако ћете ово савладати. ПЛ / СКЛ се данас користи у индустрији за развој веба и сервера.
У следећем упутству разговараћемо о ПЛ / СКЛ уметању, ажурирању, брисању, изјави Селецт и другим сродним темама.
Пратите нас да бисмо поделили више знања.
Препоручено читање
- Питхон променљиве
- Питхон типови података
- Врсте података и променљиве Ц # са примерима
- ЈМетер параметризација података коришћењем кориснички дефинисаних променљивих
- Дата Март Туториал - Врсте, примери и примена Дата Март
- Типови података Ц ++
- Јава променљиве и њихови типови са примерима
- СКЛ вс НоСКЛ Тачне разлике и знајте када треба користити НоСКЛ и СКЛ