Folosirea dinamica a comenzilor SQL

Trimis la data: 2016-01-21 Materia: Informatica Nivel: Facultate Pagini: 13 Nota: / 10 Downloads: 0
Autor: Costache Elena Dimensiune: 27kb Voturi: Tipul fisierelor: doc Acorda si tu o nota acestui referat: 1 2 3 4 5 6 7 8 9 10
vezi mai multe detalii vezi mai putine detalii
Raporteaza o eroare
SQL dinamic este o parte integranta a limbajului SQL care permite folosirea dinamica a comenzilor sale in proceduri stocate sau in blocuri anonime. Spre deosebire de comenzile statice, care nu se schimba in timp real, comenzile dinamice se schimba de la o executie la alta. Comenzile dinamice SQL pot depinde de anumite valori de intrare furnizate de utilizator sau de procesarea realizata in programul aplicatie. Ele nu sunt incorporate in programul sursa, ci sunt depuse in siruri de caractere.

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

  • pag. 1
  • pag. 2
  • pag. 3
  • pag. 4
  • pag. 5
  • pag. 6
  • pag. 7
  • pag. 8
  • pag. 9
  • pag. 10

Nota explicativa
Referatele si lucrarile oferite de Referate.ro au scop educativ si orientativ pentru cercetare academica.

Iti recomandam ca referatele pe care le downloadezi de pe site sa le utilizezi doar ca sursa de inspiratie sau ca resurse educationale pentru conceperea unui referat nou, propriu si original.

Referat.ro te invata cum sa faci o lucrare de nota 10!
Filmele zilei
Linkuri utile
Programeaza-te online la salonul favorit Descarca gratuit aplicatiile pentru iOS si Android Filmulete haioase Filme, poante si cele mai tari faze Jocuri Cele mai tari jocuri de pe net Referate scoala Resurse, lucrari, referate materiale pentru lucrari de nota 10 Bacalaureat 2017 Vezi subiectele examenului de Bacalaureat din 2017 Evaluare Nationala 2017 Ultimele informatii despre evaluare nationala
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.
Acest site foloseste cookies: Prin navigarea pe acest site, va exprimati acordul asupra folosirii cookie-urilor. Detalii aici OK