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
|