-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 .
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]
Se poate lansa un script din interiorul altui script. Pentru aceasta se va folosi comanda :
@@ numeScript
Inapoi
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
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.