PL / SQL блок: СТРУКТУРА, Синтаксис, АНОНИМЕН Пример

Съдържание:

Anonim

Какво е PL / SQL блок?

В PL / SQL кодът не се изпълнява в едноредов формат, но винаги се изпълнява чрез групиране на кода в един елемент, наречен Блокове. В този урок ще научите за тези блокове.

Блоковете съдържат както PL / SQL, така и инструкции за SQL. Всички тези инструкции ще се изпълняват като цяло, вместо да изпълняват по една инструкция наведнъж.

В този урок ще научите:

  • Какво е PL / SQL блок?
  • Структура на блока
  • Синтаксис на PL / SQL блок
  • Видове PL / SQL блок

Структура на блока

PL / SQL блоковете имат предварително дефинирана структура, в която кодът трябва да бъде групиран. По-долу са дадени различни раздели на PL / SQL блокове.

  1. Раздел за декларация
  2. Раздел за изпълнение
  3. Раздел за обработка на изключения

Картината по-долу илюстрира различния PL / SQL блок и техния ред на раздели.

Раздел за декларация

Това е първият раздел на PL / SQL блоковете. Този раздел е незадължителна част. Това е разделът, в който ще бъде декларирана декларацията на променливи, курсори, изключения, подпрограми, инструкции за прагма и колекции, които са необходими в блока. По-долу има още няколко характеристики на тази част.

  • Този конкретен раздел е незадължителен и може да бъде пропуснат, ако не са необходими декларации.
  • Това трябва да е първият раздел в PL / SQL блок, ако има такъв.
  • Този раздел започва с ключовата дума 'DECLARE' за тригери и анонимен блок. За други подпрограми тази ключова дума няма да присъства. Вместо това частта след дефиницията на името на подпрограмата маркира раздела за декларация.
  • Този раздел винаги трябва да бъде последван от раздел за изпълнение.

Раздел за изпълнение

Частта за изпълнение е основната и задължителна част, която всъщност изпълнява кода, който е написан вътре в нея. Тъй като PL / SQL очаква изпълнимите изрази от този блок, това не може да бъде празен блок, т.е. той трябва да има поне един валиден изпълним ред на код в него. По-долу има още няколко характеристики на тази част.

  • Това може да съдържа както PL / SQL код, така и SQL код.
  • Това може да съдържа един или много блокове вътре в него като вложен блок.
  • Този раздел започва с ключовата дума „НАЧАЛО“.
  • Този раздел трябва да бъде последван от „END“ или раздел „Обработка на изключения“ (ако има такъв)

Раздел за обработка на изключения:

Изключението е неизбежно в програмата, която се появява по време на изпълнение и за обработка на този Oracle е предоставил раздел за обработка на изключения в блокове. Този раздел може също да съдържа PL / SQL изрази. Това е незадължителен раздел на PL / SQL блоковете.

  • Това е разделът, в който се обработва изключението, повдигнато в блока за изпълнение.
  • Този раздел е последната част от блока PL / SQL.
  • Контролът от този раздел никога не може да се върне към блока за изпълнение.
  • Този раздел започва с ключовата дума „ИЗКЛЮЧЕНИЕ“.
  • Този раздел винаги трябва да бъде последван от ключовата дума „END“.

Ключовата дума 'END' маркира края на PL / SQL блока.

Синтаксис на PL / SQL блок

По-долу е синтаксисът на блоковата структура PL / SQL.

DECLARE --optionalBEGIN --mandatoryEXCEPTION --optionalEND; --mandatory/

Забележка: Блокът винаги трябва да бъде последван от '/', който изпраща информацията на компилатора за края на блока.

Видове PL / SQL блок

PL / SQL блоковете са предимно от два вида.

  1. Анонимни блокове
  2. Именувани блокове

Анонимни блокове:

Анонимните блокове са PL / SQL блокове, които нямат присвоени имена. Те трябва да бъдат създадени и използвани в същата сесия, защото няма да се съхраняват на сървъра като обекти на базата данни.

Тъй като не е необходимо да съхраняват в базата данни, те не се нуждаят от стъпки за компилация. Те се пишат и изпълняват директно, а компилирането и изпълнението се случват в един процес.

По-долу има още няколко характеристики на анонимните блокове.

  • Тези блокове нямат посочено име за тях.
  • Тези блокове започват с ключовата дума „DECLARE“ или „BEGIN“.
  • Тъй като тези блокове нямат никакво референтно име, те не могат да се съхраняват за по-късна цел. Те трябва да бъдат създадени и изпълнени в една и съща сесия.
  • Те могат да извикат другите именовани блокове, но извикването на анонимен блок не е възможно, тъй като няма никаква препратка.
  • В него може да има вложен блок, който може да бъде именуван или анонимен. Той може също да бъде вложен във всякакви блокове.
  • Тези блокове могат да имат и трите раздела на блока, в които раздела за изпълнение е задължителен, другите два раздела са по избор.

Именувани блокове:

Именуваните блокове имат специфично и уникално име за тях. Те се съхраняват като обекти на базата данни в сървъра. Тъй като те са достъпни като обекти на база данни, те могат да бъдат препращани или използвани, стига да присъства на сървъра. Процесът на компилация за именовани блокове се случва отделно, докато се създават като обекти на база данни.

По-долу има още няколко характеристики на Именувани блокове.

  • Тези блокове могат да бъдат извикани от други блокове.
  • Структурата на блока е същата като анонимния блок, с изключение на това, че никога няма да започне с ключовата дума 'DECLARE'. Вместо това ще започне с ключовата дума 'CREATE', която инструктира компилатора да го създаде като обект на база данни.
  • Тези блокове могат да бъдат вложени в други блокове. Може да съдържа и вложени блокове.
  • Именуваните блокове са основно два вида:
  1. Процедура
  2. Функция
Ще научим повече за тези именувани блокове в темите "Процедура" и "Функция" в по-късен урок.

Обобщение

След този урок трябва да сте наясно с PL / SQL блоковете и неговите типове, различни раздели на блокове и тяхното използване. Подробното описание на посочените PL / SQL блокове ще бъде разгледано в следващия урок.