Шта је ПЛ / СКЛ блок?
У ПЛ / СКЛ, код се не извршава у једном реду, али се увек извршава груписањем кода у један елемент зван Блоцкс. У овом упутству ћете сазнати више о овим блоковима.
Блокови садрже и ПЛ / СКЛ, као и СКЛ инструкције. Сва ова упутства ће се извршавати у целини, а не извршавати појединачна упутства одједном.
У овом упутству ћете научити:
- Шта је ПЛ / СКЛ блок?
- Структура блока
- Синтакса блока ПЛ / СКЛ
- Врсте ПЛ / СКЛ блока
Структура блока
ПЛ / СКЛ блокови имају унапред дефинисану структуру у којој се код групише. Испод су различити одељци ПЛ / СКЛ блокова.
- Одељак декларације
- Одељак извршења
- Одељак за руковање изузецима
Слика доле илуструје различите ПЛ / СКЛ блокове и њихов редослед одељака.
Одељак за декларацију
Ово је први одељак ПЛ / СКЛ блокова. Овај одељак је необавезни део. Ово је одељак у којем ће бити декларисана декларација променљивих, курсори, изузеци, потпрограми, прагма упутства и колекције потребне у блоку. Испод је још неколико карактеристика овог дела.
- Овај одређени одељак није обавезан и може се прескочити ако нису потребне изјаве.
- Ово би требао бити први одељак у ПЛ / СКЛ блоку, ако постоји.
- Овај одељак започиње кључном речи „ПРОГЛАШИ“ за окидаче и анонимни блок. За остале потпрограме ова кључна реч неће бити присутна. Уместо тога, део након дефиниције имена подпрограма означава одељак декларације.
- Овај одељак би увек требало да прати одељак извршења.
Извршно одељење
Извршни део је главни и обавезни део који заправо извршава код записан у њему. Будући да ПЛ / СКЛ очекује извршне изразе од овог блока, ово не може бити празан блок, тј. У њему треба да постоји најмање једна ваљана извршна линија кода. Испод је још неколико карактеристика овог дела.
- Садржи и ПЛ / СКЛ код и СКЛ код.
- То може садржати један или више блокова у себи као угнежђени блок.
- Овај одељак започиње кључном речи „ПОЧИНИ“.
- Овај одељак треба да прати или „КРАЈ“ или одељак Руковање изузецима (ако постоји)
Одељак за руковање изузецима:
Изузетак је неизбежан у програму који се јавља током извођења и за руковање овим Орацле-ом је обезбеђен одељак за руковање изузецима у блоковима. Овај одељак такође може садржати ПЛ / СКЛ изразе. Ово је опционални одељак ПЛ / СКЛ блокова.
- Ово је одељак у коме се обрађује изузетак подигнут у извршном блоку.
- Овај одељак је последњи део ПЛ / СКЛ блока.
- Контрола из овог одељка никада се не може вратити у блок извршења.
- Овај одељак започиње кључном речи „ОСИМ“.
- Овај одељак би увек требало да прати кључна реч „КРАЈ“.
Кључна реч 'ЕНД' означава крај ПЛ / СКЛ блока.
Синтакса блока ПЛ / СКЛ
Испод је синтакса структуре блока ПЛ / СКЛ.
DECLARE --optionalBEGIN --mandatory EXCEPTION --optional END; --mandatory/
Напомена: Након блока увек треба следити '/' који шаље информације компајлеру о крају блока.
Врсте ПЛ / СКЛ блока
ПЛ / СКЛ блокови су углавном два типа.
- Анонимни блокови
- Именовани блокови
Анонимни блокови:
Анонимни блокови су ПЛ / СКЛ блокови којима нису додијељена никаква имена. Треба их креирати и користити у истој сесији, јер се неће чувати на серверу као објекти базе података.
Будући да их није потребно чувати у бази података, не требају им кораци компилације. Они се пишу и извршавају директно, а компилација и извршење се дешавају у једном процесу.
Испод је још неколико карактеристика Анонимних блокова.
- Ови блокови немају ниједно референцирано име за њих.
- Ови блокови почињу са кључном речи „ПРОГЛАШИ“ или „ПОЧИНИ“.
- Будући да ови блокови немају ниједно референцно име, они се не могу сачувати за касније сврхе. Они ће бити створени и извршени у истој сесији.
- Они могу позвати друге именоване блокове, али позив анонимном блоку није могућ јер нема никакву референцу.
- У њему може бити угнежђени блок који може бити именован или анониман. Такође се може угнездити у било који блок.
- Ови блокови могу имати сва три одељка блока, у којима је одељак извршења обавезан, друга два одељка нису обавезна.
Именовани блокови:
Именовани блокови имају своје специфично и јединствено име. Они се чувају као објекти базе података на серверу. Будући да су доступни као објекти базе података, на њих се може позивати или их користити све док су присутни на серверу. Процес компајлирања именованих блокова одвија се одвојено док их се ствара као објекте базе података.
Испод је још неколико карактеристика Именованих блокова.
- Ови блокови се могу позивати из других блокова.
- Структура блока је иста као и анонимни блок, с тим што никада неће започети са кључном речи 'ПРОГЛАШИ'. Уместо тога, започиње са кључном речи 'ЦРЕАТЕ' која даје упутства компајлеру да је креира као објекат базе података.
- Ови блокови се могу угнездити у друге блокове. Такође може садржати угнежђене блокове.
- Именовани блокови су у основи две врсте:
- Процедура
- Функција
Резиме
Након овог упутства, требали бисте бити свјесни ПЛ / СКЛ блокова и његових типова, различитих одјељака блокова и њихове употребе. Детаљан опис именованих ПЛ / СКЛ блокова биће покривен у каснијем упутству.