Водич за ПЛ / СКЛ: Све што треба да знате о ПЛ / СКЛ-у



Водич за ПЛ / СКЛ покрива сва детаљна објашњења свих потребних концепата потребних за савладавање програмирања ПЛ / СКЛ са разним примерима

ПЛ / СКЛ је процедурални језик који превазилази недостатке са којима се суочава Структурирани језик упита . То је проширење СКЛ-а и чак можемо користити СКЛ упите без икаквих мука у било којој ПЛ / СКЛ апликацији или програму. У овом водичу за ПЛ / СКЛ детаљно ћемо проћи кроз основне концепте ПЛ / СКЛ-а. Следеће теме су обрађене у овом чланку.

Шта је ПЛ / СКЛ?

Означава процесно језичко проширење на језик структурираног упита . Орацле је креирао ПЛ / СКЛ који проширује нека ограничења СКЛ-а како би пружио свеобухватније решење за изградњу критичних апликација које раде на орацле-у .





туториал за лого-пл / скл - едурека

Карактеристике

  • ПЛ / СКЛ пружа функционалност процедуралног језика као што је доношење одлука, понављање итд.

    начини за стварање синглетон класе у јави
  • Користећи једну наредбу, ПЛ / СКЛ може извршити бројне упите.



  • Такође можемо поново користити ПЛ / СКЛ јединице као што су функције, окидачи, процедуре итд. Које се чувају у бази података након креирања.

  • ПЛ / СКЛ такође има блок за руковање изузецима који обрађује изузетке у ПЛ / СКЛ.

  • Опсежна провера грешака је такође могућа помоћу ПЛ / СКЛ



  • Апликације написане на ПЛ / СКЛ преносиве су на други хардвер и оперативне системе под условом да орацле мора бити оперативан.

ПЛ / СКЛ вс СКЛ

СКЛ ПЛ / СКЛ
СКЛ је један упит који се користи за извођење ДДЛ и ДМЛ операцијаПЛ / СКЛ је блок кодова који се користи за дефинисање читавог програма или процедуре / функције итд
Она заправо не дефинише како ствари треба радити, већ дефинише шта треба учинитиПЛ / СКЛ дефинише како ствари треба радити
Извршава једну изјавуИзводи блок изјава одједном.
СКЛ се углавном користи за манипулацију подацимаПЛ / СКЛ се, с друге стране, користи за креирање апликација
Не може садржати ПЛ / СКЛ кодС обзиром да је реч о СКЛ екстензији, у себи може да садржи СКЛ код

Блок структуре у ПЛ / СКЛ

ПЛ / СКЛ обично организује код у блокове. Блок кода без имена познат је као анонимни блок. Познат је као анонимни блок јер није сачуван у орацле бази података. Погледајмо анонимни блок у ПЛ / СКЛ.

[ДЕЦЛАРЕ] изјаве декларације [БЕГИН] наредбе извршења [ЕКСЦЕПТИОН] наредбе изузетка ЕНД /

Гледајући горњи дијаграм, можемо видети да је блоковска структура подељена на четири дела, тј. Декларација, почетак, изузетак и крај. Покушајмо да схватимо како блок структура ради у ПЛ / СКЛ-у. Од свих ових одељака, одељак за извршење је обавезан, а остали су опциони.

  • ИЗЈАВИТЕ кључна реч користи се за одељак декларације користи се за декларацију типова података и структура као што су променљиве, функције итд.

  • ЗАПОЧЕТИ Кључна реч се користи за одељак извршења. Обавезан је и садржи све изјаве које треба извршити. У овом блоку је дефинисана пословна логика, у овом блоку можемо користити и процедуралне или СКЛ изразе.

  • Тхе ИЗУЗЕТАК кључна реч се користи за одељак за изузеће. Садржи све изјаве о изузецима.

  • КРАЈ кључна реч означава крај блока, а коса црта ‘/’ говори алату који користите (Орацле Датабасе Тоол) за извршавање ПЛ / СКЛ блока.

Ево једноставног примера који показује како можемо да користимо ПЛ / СКЛ код.

ПОЧНИ НУЛЛ КРАЈ /

Сад кад знамо како блок структура ради у ПЛ / СКЛ, хајде да разумемо различите аспекте ПЛ / СКЛ-а попут декларисања, именовања и додељивања вредности променљивим.

ПЛ / СКЛ променљиве

Променљива у ПЛ / СКЛ је у основи назив који варира или привремено место складиштења које подржава одређени тип података. Погледајмо како можемо користити променљиве у ПЛ / СКЛ програму.

Правила променљивог именовања

ПЛ / СКЛ следи следећа правила за именовање променљивих.

  • Варијабла не може имати више од 31 знака

  • Име променљиве треба да започиње АСЦИИ знаком. Будући да ПЛ / СКЛ разликује велика и мала слова, велико и мало слово биће различите променљиве.

  • Након првог знака мора постојати посебан знак ($, _) или било који број.

Именовања конвенције

Користите следеће доленаведене конвенције именовања да бисте користили променљиве.

Префикс Тип података
в_ВАРЦХАР2
н_БРОЈ
т_СТО
р_РЕД
д_ДАТУМ
б_БООЛЕАН

Изјава

Покушајмо да разумемо како се декларисање променљивих врши у ПЛ / СКЛ

Декларација укључује име променљиве праћено типом података и одвојено тачком и зарезом. Следи пример који показује како можете декларисати променљиву у ПЛ / СКЛ.

ПРОГЛАШИ в_наме ВАРЦХАР (25) н_аге БРОЈ (3) ПОЧИНИ НУЛЛ КРАЈ

Такође можете додати дужину типа података као што смо учинили у горњем примеру.

Сидра

Сидро се у основи односи на употребу кључне речи% ТИПЕ која декларише променљиву са типом података повезаним са типом података колоне одређеног ступца у табели.

Погледајте пример да бисте ово разумели. Претпоставимо да имамо табелу ЗАПОСЛЕНИХ, можемо користити сидра на следећи начин.

ПРОГЛАШИТЕ в_име ЕМПЛОИЕЕ.НАМЕ% ТИПЕ н_аге ЕМПЛОИЕЕ.АГЕ% ТИПЕ БЕГИН НУЛЛ ЕНД /

Задатак

Додељивање променљивих је прилично једноставно, помоћу оператора додељивања можемо доделити вредности променљивој. Следећи пример показује како променљивој можемо доделити вредности.

ПРОГЛАШИ в_наме ВАРЦХАР (20) н_курс ВАРЦХАР (10) ПОЧИНИ в_наме = 'едурека' в_цоурсе = 'скл' ЕНД /

Иницијализација

Такође можемо иницијализовати вредност променљиве у одељку декларације. Следећи пример показује како можемо иницијализовати вредности променљивом.

ПРОГЛАШИ в_име ВАРЦХАР (20) = 'едурека' н_курс ВАРЦХАР (10) = 'скл' ПОЧИНИ НУЛЛ КРАЈ /

Сада када знамо како можемо радити са променљивим, покушајмо да разумемо како ћемо користити функције у ПЛ / СКЛ.

Функција у ПЛ / СКЛ

Функција у ПЛ / СКЛ-у је у основи именовани блок који враћа вредност. Такође је познат као потпрограм или потпрограм, следећа синтакса показује како можемо да користимо функције у ПЛ / СКЛ.

ЦРЕАТЕ [ОР РЕПЛАЦЕ] ФУНЦТИОН име_функције [(параметер_1 [ИН] [ОУТ] дата_типе, параметер_2 [ИН] [ОУТ] дата_типе, параметер_Н [ИН] [ОУТ] дата_типе] РЕТУРН ретурн_дата_типе ЈЕ БЕГИН изрази ретурн ретурн_дата_типе ЕКСЦЕПТИОН ЕНД /

Пре свега, морате навести име функције након кључне речи. Име функције мора почињати глаголом. Функција не може имати ниједан, један или више параметара које наводимо у параметрима. Морамо експлицитно навести тип података сваког параметра, а затим долази режим који може било шта од следећег.

  • ИН - ИН параметар је параметар само за читање.

  • ОУТ - То је параметар само за писање

  • ИН ОУТ - Параметар ИН ОУТ је параметар читања и писања.

Ево једноставног примера који показује како користимо функције у ПЛ / СКЛ.

СТВОРИ ИЛИ ЗАМЕНИ ФУНКЦИЈУ три_парсе (ив_нумбер ИН ВАРЦХАР2) БРОЈ ПОВРАТКА ПОЧИЊЕ ПОВРАТАК то_нумбер (ив_нумбер) ОСИМ КАДА се други ОНДА ВРАТЕ НУЛЛ ЕНД

Позивање функције

Покушајмо да позовемо функцију коју смо направили у анонимном блоку у следећем примеру.

ПОДЕШИТЕ ​​СЕРВЕРОУТП НА ВЕЛИЧИНИ 1000000 ПРОГЛАШИТЕ н_к број н_и број н_з број БЕГИН н_к: = три_парсе ('256') н_и: = три_парсе ('29 .72 ') н_з: = три_парсе (' пкрс ') ДБМС_ОУТПУТ.ПУТ_ЛИНЕ (н_к) ДБ2 н_и) ДБМС_ОУТПУТ.ПУТ_ЛИНЕ (н_з) ЕНД /

Функцију можемо позвати и у наредби СЕЛЕЦТ. Сада када знамо како можемо да користимо функције у ПЛ / СКЛ, покушајмо да разумемо како радимо са процедурама у ПЛ / СКЛ.

ПЛ / СКЛ процедура

Поступак је у основи блок који обавља одређени задатак. Коришћењем процедуре можемо омотати или уврстити сложену пословну логику и поново их користити у слоју апликације и базе података.

Погледајмо једноставан пример да бисмо разумели како поступак функционише у ПЛ / СКЛ

СТВАРИ ИЛИ ЗАМЕНИ ПОСТУПАК прилагоди_плату (ин_емплоиее_ид У ЗАПОСЛЕНИМА.ЕМПЛОИЕЕ_ИД% ВРСТЕ, у_процентима У БРОЈУ) ПОЧИЊЕ - ажурирај плату запосленика АЖУРИРАЈ запослене СЕТ плата = плата + плата * ин_перцент / 100 ГДЕ запосленик_ид = ин_емплоиее_ид ЕНД

У горњем примеру имамо два параметра, поступак прилагођава плату за дати проценат и кључна реч УПДАТЕ ажурира вредност у информацијама о плати.

како обрнути низ у питхону

Заглавље процедуре

Одељак пре кључне речи ИС назива се заглављем процедуре. Следи неколико упутстава са којима се морате упознати током рада са процедурама.

  • сцхема - Необавезно име шеме којој припада процедура.

  • име - Назив поступка који треба започети глаголом.

  • параметри - То је опционална листа параметара.

  • АУТХИД - Одређује да ли ће се процедура извршити с привилегијом тренутног корисника или првобитног власника процедуре.

Тело поступка

Све што долази иза кључне речи ИС назива се тело поступка. Изјаве о декларацији, изузећу и извршењу имамо у телу поступка. За разлику од функције, кључна реч РЕТУРН у процедури се користи за заустављање извршавања и враћање контроле позиваоцу.

Позивање поступка

Погледајмо како можемо позвати процедуру у ПЛ / СКЛ.

ЕКСЕЦ_назив_име (парам1, парам2 & хеллиппарамН)

Процедуре без параметара можемо позвати само помоћу ЕКСЕЦ кључне речи и имена процедуре. Сада када знамо како можемо радити са процедурама, покушајмо да разумемо како се угнежђени блокови користе у ПЛ / СКЛ.

Угнежђени блок

Угнијежђени блок није ништа друго до комбинација једног или више ПЛ / СКЛ блокова како би се добила боља контрола над извршавањем и изузетно руковање програмом.

Ево једноставног примера угнежђеног блока.

ПОДЕШИТЕ ​​СЕРВЕРОУТП НА ВЕЛИЧИНИ 1000000 ДЕЦЛАРЕ н_емп_ид ЕМПЛОИЕЕС.ЕМПЛОИЕЕ_ИД% ТИПЕ: = & емп_ид1 ПОЧНИТЕ ПРОГЛАШАВАТИ н_емп_ид стафф.емплоиее_ид% ТИПЕ: = & емп_ид2 в_наме запосленици.фирст_наме% ТИПЕ_БРЕЗ ИМЕ ФРЕП ИМЕ БРЕЗ_ПРОПРЕЗА ИМЕ БРЕЗ_ПРЕВЗЕТКА запосленог '|| н_емп_ид ||' је '|| в_наме) ОСИМ КАДА но_дата_фоунд ТХЕН ДБМС_ОУТПУТ.ПУТ_ЛИНЕ (' Емплоиее '|| н_емп_ид ||' нот фоунд ') ЕНД ЕНД /

Спољни ПЛ / СКЛ блок у горњем примеру познат је као надређени блок или затварајући блок, унутрашњи блок, с друге стране, познат је као подређени блок или затворени блок.

Није добра идеја користити променљиве са истим именима у оба блока, јер ће током извршавања променљива подређеног блока заменити променљиву надређеног блока. То се догађа зато што ПЛ / СКЛ даје први приоритет променљивој унутар сопственог блока.

Ознака блока

Овај проблем можемо превазићи помоћу ознаке блока која нам помаже да референцујемо на променљиве унутар блокова помоћу ознаке.

Ево једноставног примера који показује како можемо користити ознаку блока.

 <>ПРОГЛАШИТЕ ... ПОЧИНИТЕ ... КРАЈ

Коришћење ознаке блока помаже у побољшању читљивости кода, стицању боље контроле и упућивању на блокове. Сада када знамо како можемо радити са угнежђеним блоковима, покушајмо да разумемо како ИФ СТАТЕМЕНТ ради у ПЛ / СКЛ-у.

ИФ Изјава

ПЛ / СКЛ има три ИЗЈАВЕ

  • АКО ОНДА - То је најједноставније АКО СТАВУЈУ ако је услов тачан, извршит ће се изрази, ако је услов нетачан, он не ради ништа.

  • АКО ТАДА ЈОШ - У овом је додата клаузула ЕЛСЕ за алтернативни низ изјава.

  • АКО-ОНДА-ЕЛСЕИФ - Омогућава нам да извршимо више услова теста у низу.

АКО-ОНДА Синтакса

АКО услов ЗАТИМ секвенца_извештаја КРАЈ АКО

АКО-ОНДА-ОСТАЛО Синтакса

АКО услов ЗАТИМ секвенца_уколико_изјаве ДРУГЕ секвенца_други_изјаве КРАЈ ИФ

ИФ-ТХЕН-ЕЛСЕИФ Синтакса

АКО услов1 ЗАТИМ секвенца_изјава1 ЕЛСИФ услов2 ЗАТИМ секвенца_изјава2 ОСТАЛО секвенца_извештаја3 ЗАВРШИ

Сад кад смо завршили са ИФ СТАТЕМЕНТ, погледајмо ЦАСЕ изјаву у ПЛ / СКЛ.

ИЗЈАВА О СЛУЧАЈУ

Израз ЦАСЕ у основи помаже у извршавању низа исказа на основу селектора. Селектор, у овом случају, може бити било шта, може бити променљива, функција или једноставан израз. Ево једноставног примера за приказ синтаксе ЦАСЕ израза у ПЛ / СКЛ.

[<>] СЛУЧАЈ [ИСТИНА | селектор] КАДА израз1 ЗАТИМ секвенца_изјаве1 КАДА израз2 ЗАТИМ секвенца_изјава2 ... КАДА изразН ЗАТИМ секвенца_изјаваН [ЕЛСЕ след_изјава_Н + 1] КРАЈ СЛУЧАЈА [име_назнаке]

У горњој синтакси, иза кључне речи ЦАСЕ долази селектор. ПЛ / СКЛ ће селектор процијенити само једном како би одредио коју изјаву треба извршити.

Иза селектора следи кључна реч ВХЕН. Ако израз задовољава селектор, тада се извршава одговарајући израз након кључне речи ТХЕН.

Сада када знамо како можемо да користимо ЦАСЕ изјаву, покушајмо да разумемо како ћемо користити петље у ПЛ / СКЛ.

Изјава о петљи

Извод петље у ПЛ / СКЛ-у је итеративни израз који вам омогућава да извршавате секвенцу израза више пута. Ево једноставног примера за приказ синтаксе наредбе петље у ПЛ / СКЛ.

ЛООП редослед_извештаја ЕНД ЛООП

Између кључне речи ЛООП и ЕНД ЛООП мора постојати најмање једна извршна наредба.

Петља са ЕКСИТ изјавом

јава пронађи највећи број у низу

Изјаве ЕКСИТ и ЕКСИТ када вам омогућавају да изађете из петље. Израз ЕКСИТ ВХЕН условно завршава петљу, док ЕКСИТ извршава безусловно извршење.

ЛООП ... ЕКСИТ КАД услов ЕНД ЛООП

Лооп Лабел

Ознака петље се користи за квалификовање имена променљиве бројача петље када се користи у угнежђеној петљи. Следи синтакса ознаке петље.

 <>Ознака ЛООП секуенце_оф_статементс ЕНД ЛООП

Сад кад знамо како можемо да користимо изјаве петље, погледајмо изјаве петље за боље разумевање.

Док Изјава петље

Изјаву петље ВХИЛЕ можемо користити када број извршавања није дефинисан све док извршење не започне. Следећа синтакса се користи за наредбу ВХИЛЕ петље у ПЛ / СКЛ.

ВХИЛЕ услов ЛООП секуенце_оф_статементс ЕНД ЛООП

Услов у синтакси је логичка вредност или израз који процењује да је ТРУЕ, ФАЛСЕ или НУЛЛ. Ако је услов ТРУЕ, изрази ће се извршити, ако је ФАЛСЕ, извршење се зауставља и контрола иде на следећи извршни израз.

Сад кад знамо како можемо да користимо наредбу петље ВХИЛЕ, ​​погледајмо наредбу петље ФОР.

За Лооп Статемент

Изјава петље ФОР у ПЛ / СКЛ омогућава нам да извршимо низ наредби одређени број пута. Следи синтакса употребе наредбе ФОР петље у ПЛ / СКЛ

ФОР лооп_цоунтер ИН [РЕВЕРСЕ] ловер_боунд .. ловер_боунд ЛООП секуенце_оф_статементс ЕНД ЛООП

ПЛ / СКЛ аутоматски креира локалну променљиву лооп_цоунтер са типом података ИНТЕГЕР за петљу, тако да не морате то експлицитно декларирати. Доња граница..висока веза је опсег у којем се петља понавља. Такође, морате имати најмање један извршни израз између кључних речи ЛООП и ЕНД ЛООП.

Сада када знамо како можемо да користимо наредбе петље у ПЛ / СКЛ, погледајмо изузетно руковање у ПЛ / СКЛ.

Изузетно руковање

У ПЛ / СКЛ-у било која врста грешке третира се као изузетак. Изузетак се може третирати као посебан услов који може променити или изменити ток извршења. У ПЛ / СКЛ постоје две врсте изузетака.

  • Систем Екцептион - Повећава га ПЛ / СКЛ време извођења када открије грешку.

  • Изузетак дефинисан од стране програмера - Ове изузетке програмер дефинише у одређеној апликацији.

Дефинисање изузетка

Изузетак у ПЛ / СКЛ мора се пријавити пре него што се може покренути. Изузетак можемо дефинисати помоћу кључне речи ЕКСЦЕПТИОН као што смо то урадили у доњем примеру.

ЕКСЦЕПТИОН_НАМЕ ЕКСЦЕПТИОН

Да бисмо створили изузетак, користимо кључну реч РАИСЕ.

РАИСЕ ЕКСЦЕПТИОН_НАМЕ

Дакле, све је било у вези са ПЛ / СКЛ-ом, надам се да вам је овај чланак помогао у додавању вредности вашем знању. За више информација о СКЛ-у или базама података можете погледати нашу свеобухватну листу за читање овде: .

Ако желите да добијете структурирану обуку о МиСКЛ-у, погледајте нашу који долази са обуком уживо коју воде инструктори и искуством у стварном животу. Овај тренинг ће вам помоћи да дубље разумете МиСКЛ и да вам помогне да савладате тему.

Имате питање за нас? Молимо вас да то поменете у одељку за коментаре „ Водич за ПЛ / СКЛ ”И јавићу вам се.