Zde budeme diskutovat o blokové struktuře a typech Oracle PLSQL
Co je PL/SQL
PL/SQL je proprietární rozšíření společnosti Oracle pro SQL, které umožňuje funkce procedurálního jazyka. Poskytuje všechny funkce moderního softwarového inženýrství, jako je zapouzdření dat, zpracování výjimek, skrývání informací a objektová orientace
Proč používat PLSQL
1) Integrace s vývojovými nástroji, jako jsou formuláře Oracle, Reports
2) Více příkazů lze seskupit do jednoho plsql bloku a odeslat na server oracle, což povede k menšímu síťovému provozu
3) Modularizovaný vývoj programu:Rozdělte složitou logiku/problém do sady spravovatelných, dobře definovaných, logických modulů a implementujte je pomocí bloků
4) Přenositelnost:Protože je nativní pro server Oracle, lze jej snadno přesunout
5) Poskytuje struktury řízení procedurálního jazyka, jako je if podmínka, smyčkování
6) Má schopnost zpracovávat chyby a na základě toho vyvolávat výjimku
bloková struktura PLSQL
Blok plsql je vytvořen ve třech částech Declare, spustitelný soubor a výjimka.
DECLARE(Volitelné) – tato část obsahuje proměnné, konstanty, kurzory a uživatelem definované výjimky. ZAČÁTE (Povinné) EXECUTABLE – tato část obsahuje všechny příkazy SQL. EXCEPTION (volitelné)- tato část obsahuje obslužné rutiny chyb.END(Povinné); |
Sekce Declare a výjimka jsou tedy volitelné.
Příklad struktury bloku
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; /
Důležité body k poznámce
1) Všechny proměnné a konstanty jsou definovány v sekci deklarovat
2) Umístěte středník; na konci příkazu sql nebo řídicího příkazu plsql
3) V PL/SQL jsou všechny chyby zpracovávány v bloku Exception.
4) Začátek a konec jsou povinné příkazy označující začátek a konec bloku PL/SQL.
5) Před použitím musí být proměnné a konstanty deklarovány.
6) Hodnoty lze přiřadit proměnným přímo pomocí operátoru přiřazení „:=“, pomocí příkazu SELECT … INTO nebo při použití jako parametr OUT nebo IN OUT z procedury.
7) Klíčová slova sekce Declare, Begin ,exception nejsou následována středníkem
8) End a všechny ostatní příkazy plsql vyžadují k ukončení příkazu středník
Typy bloků PLSQL
Anonymní :Anonymní bloky jsou nepojmenované bloky. Jsou deklarovány v bodě aplikace, kde je třeba je provést
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; /
Funkce :Toto jsou názvy PLSQL bloků, které mohou přijmout parametr a vypočítat nějakou funkci a vrátit ji. Může být uložen na serveru nebo aplikaci 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; /
Postup :Toto jsou názvy bloků PLSQL, které mohou přijímat parametry a zpracovávat některé informace a mohou nebo mohou vracet hodnoty. Může být uložen na serveru nebo aplikaci 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; /
Rozdíl mezi funkcí a postupem
Funkce | Postup |
Funkce musí vrátit hodnotu | Postup nemusí |
Syntaxe | Syntaxe |
Název FUNKCE (seznam argumentů …..) Návratový datový typ je | Název POSTUPU (seznam parametrů…..) |
deklarace místních proměnných | je |
Začít | deklarace místních proměnných |
spustitelné příkazy | ZAČÁTEK |
Výjimka | Spustitelné příkazy. |
obsluhy provádění | Výjimka. |
Konec; | obslužné nástroje výjimek |
end; | |
Funkci lze v SQL použít s určitým omezením | Procedura nemůže být volána přímo z SQL. |
Oracle PLSQL Block Syntaxe a pokyny
1) Znakové a datové literály musí být uzavřeny v jednoduchých uvozovkách
2) Mezi /* a */
umístěte víceřádkové komentáře3) Většinu funkcí sql lze použít v PLSQL. V PLSQL máme k dispozici funkce char,date,number, stejně jako SQL
4) skupina podle funkce nejsou v PLSQL dostupné. Lze jej použít pouze v příkazu sql v PLSQL
5) Měli bychom použít správné odsazení, aby byl kód čitelný
6) Pro lepší čitelnost a údržbu se doporučuje psát DML příkaz velkými písmeny, klíčová slova PLSQL, datové typy velkými písmeny a identifikátory a parametry vkládat malými písmeny
Související odkazy
Dokumentace Oracle PLSQL
Nejčastěji kladené 25 dotazů na rozhovory s Oracle PlSQL
Oracle sql a plsql
jak psát dotazy SQL