Extras din laborator
PL/SQL include atât instrucþiuni SQL pentru prelucrarea datelor si pentru gestiunea tranzacþiilor, cât si instrucþiuni proprii.
PL/SQL extinde SQL prin construcþii specifice limbajelor procedurale (definirea variabilelor, declararea tipurilor, utilizarea structurilor de control, implementarea procedurilor si funcþiilor, introducerea tipurilor obiect si metodelor etc.).
Tipurile de date scalare
- tipurile de date care stocheazã valori numerice
- tipul NUMBER cu subtipurile DEC, DECIMAL, DOUBLE PRECISION, FLOAT, INTEGER, INT, NUMERIC, REAL, SMALLINT;
- tipul BINARY_INTEGER cu subtipurile NATURAL, NATURALN, POSITIVE, POSITIVEN, SIGNTYPE;
- tipul PLS_INTEGER.
- tipurile de date care stocheazã caractere
- tipul VARCHAR2 cu subtipurile STRING, VARCHAR;
- tipul de date CHAR cu subtipul CHARACTER;
- tipurile LONG, RAW, LONG RAW, ROWID.
- tipurile de date care stocheazã data calendaristicã si ora
- tipurile DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND.
- tipurile de date globalizare ce stocheazã date unicode
- tipurile NCHAR si NVARCHAR2.
- tipul de date BOOLEAN stocheazã valori logice (true, false sau null).
Declararea variabilelor PL/SQL
- Identificatorii PL/SQL trebuie declaraþi înainte sã fie referiþi în blocul PL/SQL- Dacã în declaraþia unei variabile apar referiri la alte variabile, acestea trebuie sã fi fost declarate anterior- Orice variabilã declaratã într-un bloc este accesibilã blocurilor conþinute sintactic în acesta.
- În declararea variabilelor în PL/SQL pot fi utilizate atributele %TYPE si %ROWTYPE, care reprezintã tipuri de date implicite.
- Atributul %TYPE permite definirea unei variabile având tipul unei variabile declarate anterior sau tipul unei coloane dintr-un tabel.
- Atributul %ROWTYPE permite definirea unei variabile având tipul unei înregistrãri dintr-un tabel.
Sintaxa declarãrii unei variabile este urmãtoarea:
identificator [CONSTANT]{tip_de_date | identificator%TYPE |
identificator%ROWTYPE} [NOT NULL]
[{:= | DEFAULT} expresie_PL/SQL];
- Constantele trebuie iniþializate când sunt declarate, altfel apare eroare la compilare.
- Afisarea valorii variabilelor se face cu ajutorul procedurilor:
DBMS_OUTPUT.PUT(sir_caractere);
DBMS_OUTPUT.PUT_LINE(sir_caractere);
Obs: se utilizeazã SET SERVEROUTPUT ON pentru activarea modului afisare.
SGBD An III Sem- I Lect- Univ- Dr- Gabriela Mihai
Blocuri PL/SQL
PL/SQL este un limbaj cu structurã de bloc, adicã programele sunt compuse din blocuri care pot fi complet separate sau încuibãrite unul în altul.
Tipuri de blocuri:
- anonime sunt blocuri fãrã nume, care sunt construite dinamic si sunt executate o singurã datã- Acest tip de bloc nu are argumente si nu returneazã un rezultat;
- neanonime sunt fie blocuri având un nume (etichetate), care sunt construite static sau dinamic si sunt executate o singurã datã, fie subprograme, pachete sau declansatori.
Un bloc PL/SQL are structura:
[<<nume_bloc>>]
[DECLARE
variabile, cursoare]
BEGIN
instrucþiuni SQL si PL/SQL
[EXCEPTION
tratarea erorilor]
END[nume_bloc]
Dacã blocul PL/SQL este executat fãrã erori, atunci va apare mesajul:
PL/SQL procedure successfully completed
Instrucþiuni PL/SQL
PL/SQL dispune de comenzi ce permit controlul execuþiei unui bloc- Instrucþiunile limbajului pot fi: iterative (LOOP, WHILE, FOR), de atribuire (:=), condiþionale (IF, CASE), de salt (GOTO, EXIT) si instrucþiunea vidã (NULL).
Comentarii în PL/SQL
- pe o singurã linie, prefixate de simbolurile “--”, care încep în orice punct al liniei si se terminã la sfârsitul acesteia;
- pe mai multe linii, care sunt delimitate de simbolurile “/*” si “*/”.
Caracterul “;” este separator pentru instrucþiuni.
Observaþie Pentru a nu se vedea codul PL/SQL la rularea unui script se seteazã parametrul ECHO la valoare OFF.
Preview document
Conținut arhivă zip
- Tipuri de Date Scalare in PL-SQL
- Laborator PLSQL 1.pdf
- Laborator PLSQL 2.pdf
- Laborator PLSQL 3.pdf
- Laborator PLSQL 4.pdf
- Laborator PLSQL 5.pdf
- Laborator PLSQL 6.pdf
- Laborator PLSQL 7.pdf
- Laborator PLSQL 8.pdf