Comenzile SQL insert, update si delete sunt folosite în instructiuni SQL pentru întretinerea datelor din baza de date.
Comanda insert adauga o singura linie de date într-un tabel Oracle sau în tabelele de baza ale unei vederi. Datele care urmeaza sa fie adaugate în linia respectiva sunt specificate în clauza values a instructiunii insert.
Exemplul urmator foloseste o instructiune insert simpla pentru a adauga o linie la tabelul ANG. Remarcati faptul ca, pentru a genera automat numere secven 15215g612p 55;iale unice pentru prima coloana, în instructiune se foloseste generatorul de secventa s_marca_ang.
insert into ang values
(s_marca_ang.nextval,'Thomas','Luers','23-B');
Puteti specifica anumite coloane în care vor fi introduse datele; coloanele nespecificate vor avea valoarea nuli. De exemplu, în tabelul LISTA_ARTICOLE, în toate coloanele sunt inserate în mod explicit date cu exceptia coloanei comentarii. Coloana comentarii ramâne goala, cu alte cuvinte are valoarea nuli
insert into lista_articole (cod_articol, nr_articol,
nume_articol)
values (s_ cod_articol.nextval,'19832-003','Ventilator');
Comanda urmatoare foloseste o subinterogare pentru generarea valorilor de intrare pentru instructiunea insert. Acest exemplu copiaza informatiile referitoare la angajati din tabelul UK_ANG în tabelul ANG:
insert into ang
select * from uk ang where nume regiune = 'UK';
Programul Oracle va permite sa modificati valoarea datelor din orice coloana pe care o specificati. Instructiunea update este cea care efectueaza aceasta sarcina. Aceasta parte a capitolului descrie instructiunea update si diversele ei clauze.
Exemplul urmator actualizeaza toate liniile din tabelul VÂNZĂRI prin stabilirea unui comision de 0.25 pentru toti agentii de vânzari:
update financiar.vânzari set comision = '.25';
Instructiunea urmatoare modifica valoarea coloanei nr_dept pentru angajatul cu numarjmarca egal cu 10923:
update ang
set nr_dept = '982-C'
WHERE marca_ang = 10923;
Puteti de asemenea sa efectuati mai multe actualizari simultan pe aceeasi linie.
De exemplu:
update ang
set nr_dept = '982-C', data_incepere = 'l-JUN-1995'
where marca_ang = 10923;
Exemplul urmator actualizeaza mai multe linii ale unui tabel în acest exemplu, numarul departamentului pentru toti angajatii departamentului Livrari va fi înlocuit cu
update ang
set nr_dept = '883'
where nume_dept = 'Livrari';
Pentru a elimina date dintr-un tabel sau din tabelele de baza ale unei vederi, folositi comanda SQL delete. Nu puteti sa eliminati linii dintr-o vedere daca interogarea de definire a vederii contine lina dintre urmatoarele constructii:
join
operatorii set sau distinct
clauza group by
o functie de grup
Instructiunea urmatoare elimina toate liniile din tabelul CALIFICARE_ delete from calificare_1
Pentru a elimina toate liniile dintr-un tabel, este recomandabil sa folositi comanda SQL truncate. Aceasta este mai eficienta decât comanda delete.
Uneori doriti sa eliminati numai anumite linii ale unui tabel. Pentru a face acest lucru, folositi comanda delete cu clauza where. De exemplu, instructiunea urmatoare elimina numai acele linii ale caror cantitati vândute sunt mai mici decât 100:
delete from comenzi where cant vânzari < 100;
Prin trunchierea unui tabel sunt eliminate toate liniile acestuia. Comanda truncate este mai rapida decât comanda delete din urmatoarele motive:
Truncate este o comanda DDL si prin urmare nu genereaza informatii de revenire. Aceasta comanda trebuie folosita cu precautie deoarece ea nu poate fi derulata înapoi.
Trunchierea unui tabel nu activeaza nici unul dintre declansatorii delete ai tabelului.
Daca trunchiati un tabel principal al unui instantaneu, comanda truncate nu înregistreaza nici un fel de informatii în jurnalul de instantanee al tabelului.
De asemenea, comanda truncate va permite sa retineti spatiul eliberat spre a fi utilizat în continuare de tabelul respectiv în mod prestabilit, sistemul Oracle returneaza serverului spatiul alocat eliberat. Exemplul urmator ilustreaza comanda truncate. în aceasta instructiune, sunt eliminate toate liniile din tabelul COMENZI:
truncate table comenzi;
În exemplul urmator, Oracle pastreaza spatiul eliberat spre a fi utilizat în continuare de tabelul respectiv. Spatiul nu este eliberat si returnat serverului:
truncate table comenzi reuse storage;
Programul Oracle va permite sa scrieti un script SQL care sa solicite utilizatorului informatiile care urmeaza sa fie folosite într-o actiune ulterioara asupra bazei de date. De exemplu, puteti solicita utilizatorului valorile care urmeaza sa fie folosite într-o instructiune insert. Alternativ, scriptul poate solicita utilizatorului valorile care urmeaza sa fie folosite într-o instructiune select. Acest paragraf foloseste comanda accept si valoarea de substitutie (&).
Comanda accept forteaza serverul sa defineasca valoarea unei variabile ca fiind eg la cu valoarea introdusa într-o instructiune accept. Caracterul & cere programului Oracle sa înlocuiasca valoarea variabilei cu valoarea care a fost introdusa de utilizator. Exemplul urmator foloseste instructiunea accept pentru a solicita utilizatorului valoarea nr_dept care va fi utilizata în instructiunea select.
accept dept prompt 'Introduceti numarul departamentului: ' select from lista_dept where nr_dept = Sdept;
Exemplul urmator foloseste comanda accept si caracterul & pentru a indica programului Oracle sa foloseasca valorile introduse în instructiunea insert:
accept ang_nume prompt 'Introduceti numele angajatului: '
accept ang_prenume prompt 'Introduceti prenumele
angajatului: '
accept ang_salariu prompt 'Introduceti salariul angajatului: '
insert intb ang (prenume, nume, salariu)
values (&ang_prenume, &ang_nume, &ang_salariu);
Selectarea datelor din baza de date înseamna interogarea bazei de date si obtinerea unor linii de date drept raspuns întretinerea datelor din baza de date implica actualizarea, inserarea si eliminarea datelor din baza de date pentru a asigura integritatea si caracterul complet al datelor.
Unul dintre motivele fundamentale ale existentei bazelor de date este ca oamenii sa le acceseze si sa citeasca datele stocate în'ele. Pentru^satisfacerea cerintelor acestor utilizatori, datele trebuie pastrate actuale si precise întretinerea datelor este o conditie esentiala a eficientei bazei de date.
Afisarea structurii tabelelor este un aspect important al selectarii si întretinerii tabelelor Oracle. Trebuie sa cunoasteti numele tipul si lungimea'datelor unei coloane pentru a reusi sa selectati si'sa întretineti datele
|