Folosirea dinamica a comenzilor SQL

5x puncte

categorie: Informatica

nota: 9.88

nivel: Facultate

SQL dinamic este o tehnica de programare care permite construirea dinamica a comenzilor la momentul executiei (adica, direct in faza de executie a blocului PL/SQL). Textul comenzii nu este cunoscut la compilare. De exemplu, se creeaza o procedura care opereaza asupra unui tabel al carui nume este cunoscut doar cand se executa procedura. In momentul compilarii este cunoscuta definitia tabelelor, da[...]
DOWNLOAD REFERAT

Preview referat: Folosirea dinamica a comenzilor SQL

SQL dinamic este o tehnica de programare care permite construirea dinamica a comenzilor la momentul executiei (adica, direct in faza de executie a blocului PL/SQL). Textul comenzii nu este cunoscut la compilare. De exemplu, se creeaza o procedura care opereaza asupra unui tabel al carui nume este cunoscut doar cand se executa procedura. In momentul compilarii este cunoscuta definitia tabelelor, dar nu si numele acestora. Exista aplicatii (de exemplu, legate de data warehouse) in care la fiecare unitate de timp (de exemplu, sfert de ora) sunt generate noi tabele, toate avand aceeasi structura.

Utilitatea tehnicii SQL dinamic este justificata de motive majore, dintre care se remarca:
necesitatea de a executa in PL/SQL, comenzi SQL care nu pot fi apelate in codul PL/SQL (de exemplu, CREATE, DROP, GRANT, REVOKE, ALTER SESSION, SET ROLE);
necesitatea unei flexibilitati in tratarea comenzilor (de exemplu, posibilitatea de a avea diferite conditii in clauza WHERE a comenzii SELECT);necunoasterea completa, la momentul implementarii, a comenzii SQL care trebuie executata.

Pentru executia dinamica a comenzilor SQL in PL/SQL exista doua tehnici: utilizarea pachetului DBMS_SQL;
SQL dinamic nativ. Daca s-ar face o comparatie intre SQL dinamic nativ si functionalitatea pachetului DBMS_SQL, se poate sublinia ca SQL dinamic nativ:este mai usor de utilizat, solicita mai putin cod, este mai rapid,poate incarca direct linii in recorduri PL/SQL,
suporta toate tipurile acceptate de SQL static in PL/SQL, inclusiv tipuri definite de utilizator.

Pachetul DBMS_SQL, in raport cu SQL dinamic nativ:
poate fi folosit in programe client-side;suporta comenzi SQL mai mari de 32 KB;permite incarcarea inregistrarilor (procedura FETCH_ROWS);
accepta comenzi cu clauza RETURNING pentru reactualizarea si stergerea de linii multiple;suporta posibilitatile oferite de comanda DESCRIBE (procedura DESCRIBE_COLUMNS);

analizeaza validitatea unei comenzi SQL o singura data (procedura PARSE), permitand ulterior mai multe utilizari ale comenzii pentru diferite multimi de argumente.
SQL dinamic nativ a fost introdus in Oracle8i, asigurand plasarea de comenzi SQL dinamic in codul PL/SQL. Comanda de baza utilizata pentru procesarea dinamica nativa a comenzilor SQL si a blocurilor PL/SQL anonime este EXECUTE IMMEDIATE. Comanda are urmatoarea sintaxa:
EXECUTE IMMEDIATE sir_dinamic
DOWNLOAD REFERAT
« mai multe referate din Informatica

CAUTA REFERAT

TRIMITE REFERAT CERE REFERAT
Referatele si lucrarile oferite de E-referate.ro au scop educativ si orientativ pentru cercetare academica.