Documente Academic
Documente Profesional
Documente Cultură
se folosete (;) dup fiecare instruciune SQL sau instruciune de control PL/SQL; blocul PL/SQL se termin cu (;); se folosete (/) pentru a lansa un bloc anonim n bufferul SQL; o eroare n PL/SQL este tratat ca o excepie;
Blocuri anonime; Funcii stocate i funcii de aplicaii; Proceduri stocate i proceduri de aplicaii; Pachete; Declanatoare (triggeri) pe baza de date / de aplicaii.
Blocurile anonime: sunt nedenumite; nu sunt stocate n baza de date; se declar inline, n locul n care se dorete execuia lor; se execut n momentul rulrii. Exemplu: DECLARE v_variabila varchar2(5); BEGIN SELECT coloana INTO v_variabila FROM tabela; EXCEPTION WHEN excepie THEN aciune END; / Blocuri anonime imbricate se pot imbrica mai multe blocuri; acestea se pot eticheta cu <<eticheta_bloc>> , iar variabilele din cadrul blocurilor se pot utiliza astfel: eticheta_bloc.variabila. BEGIN . << eticheta_bloc >> DECLARE .. BEGIN .. END eticheta_bloc; END; /
Proceduri, funcii:
2
blocuri PL/SQL cu un nume; se pot stoca la nivel de ORACLE SERVER(proceduri/funcii stocate) sau la nivel de aplicaie (DEVELOPER Forms si Reports).
Exemple: CREATE [OR REPLACE] PROCEDURE nume_procedura IS . BEGIN . [EXCEPTION] . END; / CREATE [OR REPLACE] FUNCTION nume_functie RETURN tip_data IS BEGIN RETURN valoare [EXCEPTION] END; / Pachete de programe - grupeaz proceduri, funcii. Declanatori pe baza de date - blocuri PL/SQL asociate tabelelor (de baz sau virtuale) i lansate automat n execuie cnd are loc o comanda de manipulare. Declanatori de aplicaie - blocuri PL/SQL asociate unor evenimente din cadrul aplicaiei (de exemplu: deplasarea mouse-ului, apsarea unui buton) i lansate n execuie automat. 3. Operatori n PL/SQL Operator +, -, *, /, ** (op. exponenial) AND, OR, NOT <, >, =, >=, <=, <>, != BETWEEN ... AND ... IN(list) LIKE Caracteristici Operatori aritmetici Operatori logici Operatori de comparaie Operator de verificare a apartenenei la un interval Operator de verificare a apartenenei la o list de valori Operator de comparare cu un ablon
3
% - oricte caractere; _ - un caracter; IS NULL || @ & sau && := Operator care verific dac o variabil are valoarea NULL Operator de concatenare Operator de conectare la distan Operatori pentru adresarea variabilelor de substituie Operator de atribuire
4. Funcii SQL suportate n PL/SQL n cadrul instruciunilor descriptive sunt suportate toate tipurile de funcii SQL (inclusiv funciile de grup n cadrul instruciunii SELECT); Instruciunile PL/SQL: Suport funcii la nivel de nregistrare (single-row): numerice, caracter, data, de conversie etc.; NU suport funcii de grup (SUM, MIN, MAX, AVG, COUNT, STDDEV) sau funcia DECODE. De exemplu nu se pot utiliza construcii de forma: IF DECODE(...) THEN ... sau IF AVG(...) THEN ...
5. Conversii n blocurile PL/SQL PL/SQL convertete tipurile de date dinamic (de exemplu: o valoare numeric la o variabil char); conversii implicite: caracter <-> numeric si caracter <->data; conversii explicite: se utilizeaz funciile TO_DATE, TO_NUMBER, TO_CHAR.
PL/SQL permite folosirea comenzilor de manipulare a datelor (LMD): SELECT INSERT UPDATE DELETE PL/SQL permite folosirea comenzilor de control al tranzaciilor: COMMIT ROLLBACK SAVEPOINT
Not: Un bloc PL/SQL nu este o tranzacie. Comenzile Commit/ Rollback/ Savepoint sunt independente de bloc, dar pot s apar n cadrul acestuia.
ALTER DROP RENAME TRUNCATE PL/SQL NU suport comenzile din cadrul limbajului pentru controlul datelor (Data Control Language - DCL) GRANT REVOKE