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 .

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