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
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 « mai multe referate din Informatica