Caracteristicile instructiunilor

-o instructiune  poate fi scrisa pe  mai multe rânduri consecutive
-o instructiune se lanseaza în executie prin una din urmatoarele comenzi SQL*Plus: ” /”  respectiv “;”
Buffer-ul SQL*Plus poate  contine la un moment dat doar o singura instructiune SQL.
Pentru a evita acest neajuns se poate recurge la scripturi SQL – secvente de instructiuni SQL si/sau comenzi SQL*Plus scrise cu un editor de texte oarecare si salvate într-un fisier cu extensia .sql.
Exemplul1
Elementele  esentiale care trebuie avute în vedere  la redactarea unui script SQL sunt:
-orice instructiune SQL trebuie finalizata cu una din comenzile  SQL*Plus pentru executie  (/ sau ;)
-în interiorul unei instructiuni nu pot exista linii libere (acest lucru nu este valabil si pentru instructiuni diferite)
-pentru sirurile de caractere se utilizeaza apostrof si nu ghilimele
-comentariile se introduc precedate si urmate de simbolul „ - -„ sau de perechile de simboluri  */ si  /*
-eventualele modificari  rezultate în urma unor fraze SQL-DML trebuie validate explicit prin instructiunea commit
Lansarea în executiea unui script se face  prin  comanda :
                   @ fisier.ext [lista de parametri]
Exemplul 2
Se poate lansa un script din interiorul altui script. Pentru aceasta se va folosi comanda :
                        @@ numeScript
                                                                                                                          Inapoi

Principalele instructiuni SQL

SELECT- accesarea informatiei din tabele
UPDATE - actualizarea datelor din tabele si indecsi
INSERT - adauga date la tabele si indecsi
DELETE - sterge datele din tabele si indecsi
CREATE - permite crearea oricarui obiect
ALTER - schimba definitiil;e obiectelor sau setarile bazei de date
DROP - scoate obircte din baza de date
COMMIT - salveaza schimbarile facute
ROLLBACK - anuleaza schimbarile
GRANT si REVOKE - permit administrarea privilegiilor pentru obiecte

Suplimentar, Oracle furnizeaza  urmatoarele comenzi SQL cu reoluri specfice:
TRUNCATE - sterge rapid toate datele dintr-un tabel
RENAME - redenumeste obiectele
AUDIT - urmareste cine si ce face asupra bazei de date
EXPLAIN PLAN - afisaza planul ales de optimizatorul Oracle pentru o instructiune SQL
ANALYZE - colecteaza statisticile pentru optimizatorul bazat pe costuri Oracle
SET  TRANSACTION - identifica o unitate de lucru
ROLES - modalitate de  grupare a  privilegiilor utilizatorului si de atribuire a acestor roluri  utilizatorilor care trebuie sa execute sarcini similare

Variabile de substitutie si parametri în scripturile SQL

Variabilele de substitutie sunt utilizate  pentru a furniza valori în mod interactiv la executia unui script SQL.
Se pot declara în interiorul scriptului  astfel :
                & numevariabila
In momentul executiei, SQL*Plus solicita valori pentru  toate variabilele declarate, înlocuieste respectivele valori în  instructiunea SQL dupa care trimite fraza spre executie.
Trebuie retinute urmatoarele aspecte :
- numele variabilelor nu trebuie obligatoriu sa fie unic
- daca se utilizeaza acelasi nume de variabile de mai multe ori, SQL*Plus solicita valori pentru fiecare declaratie si nu pentru  fiecare nume unic de variabila
- pentru variabilele ce substituie un sir de caractere sunt doua posibilitati de declarare :
o se încadreaza declaratia  variabilei între apostrofuri  iar la executie se furnizeaza o valoare fara  marcajul de sir de caractere
o se renunta  la marcaj în script, dar la executie se specifica  un sir de caractere încadrat între apostrofuri
-daca din script lipseste instructiunea  COMMIT  pentru permanentizarea actualizarilor aceasta va trebui executata din  SQL*Plus dupa executia scriptului sau  la un moment ulterior.
Variabilele de substitutie pot fi utilizate  în combinatie cu instructiunea ACCEPT care defineste o variabila si solicita în momentul executiei o valoare pentru aceasta, valoare care va fi apoi utilizata oridecâte ori este întâlnita variabila respectiva pe parcursul scriptului.
ACC[EPT] variable [NUM[BER] | CHAR | DATE] [FOR[MAT] format]
  [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]
Un script SQL poate sa contina declaratii de parametri, valorile actuale le acestora fiind furnizate sub forma de lista  (separate prin spatiu) în cadrul comenzii de lansare în executie :
@ numescript param1 param2 param3…
Declararea parametrilor se face  prin :
& indexParametru
unde indexParametru  este numarul de ordine al  valorilor specificate în lista de parametri la executia scriptului.
Un parametru poate fi  utilizat  de mai multe ori în  cadrul aceluiasi script, având aceeasi valoare furnizata în momentul executiei.
Observatie : parametrii care  corespund unor  valori de tip  sir de caractere vor fi încadrati între  apostrofuri, iar valoarea în momentul executiei  va fi furnizata  fara apostrofuri.

                                                                                                                              Inapoi