Тук ще обсъдим блоковата структура и типове на Oracle PLSQL
Какво е PL/SQL
PL/SQL е собствено разширение на Oracle към SQL, което дава възможност за процедурни езикови възможности. Той предоставя всички характеристики на съвременното софтуерно инженерство, като капсулиране на данни, обработка на изключения, скриване на информация и ориентация на обект
Защо да използвате PLSQL
1) Интеграция с инструменти за разработка като формуляри на Oracle, отчети
2) Множество оператори могат да бъдат групирани в един блок plsql и да се изпратят до сървъра на Oracle, което води до по-малко мрежов трафик
3) Разработване на модулна програма:Разбийте сложната логика/проблем на набор от управляеми, добре дефинирани, логически модули и ги реализирайте с помощта на блокове
4) Преносимост:Тъй като е роден за сървъра на Oracle, може лесно да се премести
5) Предоставя структури за контрол на процедурния език като условие if, цикъл
6) Той има способността да обработва грешки и да повдига изключения въз основа на тях
PLSQL блокова структура
Блокът plsql се състои от три раздела за деклариране, изпълним файл и изключение.
DECLARE (По избор) – този раздел съдържа променливи, константи, курсори и потребителски дефинирани изключения. BEGIN(Задължително) ИЗПЪЛНИТЕЛНО – този раздел съдържа всички SQL изрази. ИЗКЛЮЧЕНИЕ (по избор)- този раздел съдържа манипулаторите на грешки.КРАЙ(задължително); |
Така че секцията Деклариране и изключение са по избор.
Примерна блокова структура
DECLARE l_number NUMBER; BEGIN l_number := 1; Dbms_output.put_line(l_number); Exception When others then Dbms_output.put_line(‘Exception occurred’); END; /
Важни бележки
1) Всички променливи и константи са дефинирани в раздела за деклариране
2) Поставете точка и запетая; в края на sql оператор или plsql контролен оператор
3) В PL/SQL всички грешки се обработват в блока Exception.
4) Начало и край са задължителни изрази, указващи началото и края на PL/SQL блока.
5) Променливите и константите трябва да бъдат декларирани първо, преди да могат да бъдат използвани.
6) Стойностите могат да бъдат присвоени на променливи директно с помощта на оператора за присвояване “:=”, чрез оператор SELECT ... INTO или когато се използва като параметър OUT или IN OUT от процедура.
7) Ключова дума за раздел Деклариране, Начало , изключението не се следва от точка и запетая
8) End и всички други plsql изрази изискват точка и запетая, за да прекрати израза
Типове PLSQL блокове
Анонимен :Анонимните блокове са неименувани блокове. Те се декларират в точката в приложението, където трябва да бъдат изпълнени
DECLARE l_number NUMBER; BEGIN l_number := 1; Dbms_output.put_line(l_number); Exception When others then Dbms_output.put_line(‘Exception occurred’); END; /
Функция :Това са имена PLSQL блок, който може да приеме параметър и да изчисли някаква функция и да я върне. Може да се съхранява в сървър или приложение на Oracle
Syntax FUNCTION name [(parameter[, parameter, …])] RETURN datatype IS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Example Create or replace function FUNC return number As l_number NUMBER; BEGIN Select count(*) into l_number from emp; return(l_number) END; /
Процедура :Това са имена PLSQL блок, който може да приеме параметър и да обработва някаква информация и може или може да връща стойности. Може да се съхранява в сървър или приложение на Oracle
Syntax PROCEDURE name [(parameter[, parameter, …])] IS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Example Create or replace procedure remove_emp (emp_id number) As BEGIN Delete from emp where employee_id=emp_id; END; /
Разлика между функция и процедура
Функция | Процедура |
Функцията трябва да върне стойност | Не е необходима процедура |
Синтаксис | Синтаксис |
Име на ФУНКЦИЯ (списък с аргументи …..) Типът данни за връщане е | Име на ПРОЦЕДУРА (списък с параметри…..) |
декларации на локални променливи | е |
Започнете | декларации на локални променливи |
изпълними оператори | ЗАПОЧНЕТЕ |
Изключение | Изпълними оператори. |
изпълнителни манипулатори | Изключение. |
Край; | обработващи изключения |
край; | |
Функцията може да се използва в SQL с известно ограничение | Процедурата не може да бъде извикана директно от SQL. |
блоков синтаксис и насоки на Oracle PLSQL
1) Литералите за знаци и дата трябва да бъдат затворени в единични кавички
2) Поставете няколко реда коментари между /* и */
3) Повечето от sql функциите могат да се използват в PLSQL . Имаме функция char,date,number, налична в PLSQL, точно като SQL
4) група по функция не са налични в PLSQL. Може да се използва само в оператора sql в PLSQL
5) Трябва да използваме правилен отстъп, за да направим кода четим
6) Препоръчително е да пишете DML изявление в главни букви, PLSQL ключови думи, типове данни в главни букви и поставяне на идентификатори и параметри в малки букви за по-добра четливост и поддръжка
Сродни връзки
Документация на Oracle PLSQL
Най-често задаваните 25 въпроса за интервю за Oracle PlSQL
Oracle sql и plsql
как да пиша sql заявки