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.
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 :
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