Modificarea continutului unei baze de date
Modificarea informatiilor stocate īntr-o b.d se realizeaza cu ajutorul comenzilor Change, edit, browse si replace. Primele trei comenzi nu modifica propriu-zis continutul b.d. , ci deschid o fereastra de editare īn care utili 959b18j zatorul va modifica informatiile din b.d.
Comenzile change si edit sunt identice, ele difera de comanda browse doar prin modul de organizare pe ecran a ferestrei corespunzatoare.
sintaxa : change | edit
[ fields <lista cāmpuri> ]
[ <domeniu>] [ for<expL1>] [while<expL2>]
[ freeze <cāmp>]
[noapPend] [noclear] [nodelete]
[noedit] [nomodify]
[valid [:F] <exp1>[ error<expC1>]]
[when<expL1>]
[width<expN1>]
Iesirea din fereastra de editare si salvarea modificarilor se face folosind combinatia de taste Ctrl+End. Daca nu se doreste salvarea se va folosi iesirea cu tastele Ctrl+Q
Clauza FIELDS are ca efect afisarea spre editare doar a cāmpurilor specificate īn <lista cāmpuri>, īn ordinea aparitiei lor īn lista.
<domeniu>, FOR, WHILE specifica domeniul īnregistrarilor ce vor fi accesibile spre editare.
Clauza FREEZE se foloseste pentru a selecta spre modificare un singur cāmp restul fiind doar afisate īn fereastra de editare, fara a se permite modificarea lor.
Clauza NOAPPEND opreste utilizatorul de a adauga noi īnregistrari din fereastra de editare.
Clauza NODELETE nu permite stergerea īnregistrarilor din b.d.
NOEDIT si NOMODIFY se exclud reciproc , nu permit utilizatorului modificarea īnregistrarilor ci doar vizualizarea acestora, dar nu presupun protectie la stergere.
Clauza [valid [:F] <exp1>[ error<expC1>]] permite validarea īnregistrarii dupa modificare. Astfel, dupa ce se iese din editarea īnregistrarii se evalueaza <exp1> ca fiind .T. daca datele introduse sunt corecte, altfel aceasta se considera .F., afisāndu-se mesajul de eroare<expC1>, daca clauza ERROR apare, sau mesajul implicit de eroare altfel.
:F forteaza evaluarea <exp1> chiar daca nu s-au modificat valorile din īnregistrare ci doar s-a trecut prin ea.
Clauza WHEN permite intrarea īn editare doar daca <expL1> este evaluata ca .T.
Clauza WIDTH limiteaza numarul de caractere afisate , fara a afecta latimea cāmpului īn b.d.
Comanda BROWSE
sintaxa : browse
[FIELDS <lista cāmpuri>]
[ FOR <expL1>]
[FREEZE]
[noapPend] [noclear] [nodelete]
[noedit] [nomodify]
[valid [:F] <exp1>[ error<expC1>]]
[when<expL1>]
[width<expN1>]
Semnificatia clauzelor este aceeasi ca la comanda CHANGE.
Modificarea continutului unei b.d. se poate face si cu comanda REPLACE, īnsa aceasta nu deschide o fereastra de editare, ci realizeaza propriu-zis actualizarea b.d. cu datele precizate prin comanda.
sintaxa : REPLACE <cāmp1> WITH <expr1 >
[, <cāmp2> WITH <expr2 > ...]
[<domeniu>] [FOR<expL1>] [WHILE<expL2>]
Comanda īnlocuieste vechea valoare din cāmpul <cāmp1> cu valoarea rezultata din evaluarea expresie<expr1>, valoarea din <cāmp2> cu <expr2> s.a.m.d.
Pentru cāmpuri numerice, daca nu se reuseste īncadrarea valorii expresiei īn cāmpul respectiv, acesta va fi umplut cu asteriscuri.
<domeniu> FOR, WHILE specifica domeniul īnregistrarilor la care se refera comanda, domeniul implicit fiind īnregistrarea curenta
ex.: use agenda
replace nume with upper(nume), prenume with proper(prenume) all
browse fields nume, prenume for nr_telefon>320000
|