stergerea īnregistrarilor dintr-o baza de date
stergerea unei īnregistrari se poate realiza la doua nivele si anume :
la nivel logic - īnregistrarea nu este propriu-zis stearsa ci ea este marcata p 757f59h entru stergere, anumite comenzi si functii considera aceste īnregistrari absente din fisierul b.d., dar exista posibilitatea ca informatia continuta īn īnregistrare poate fi recuperata;
la nivel fizic - īnregistrarea este stearsa efectiv din b.d., ea nemaiputānd fi recuperata.
Marcarea pentru stergere a uneia sau a mai multor īnregistrari se realizeaza cu ajutorul comenzii delete
sintaxa : delete
[ <domeniu> ] [ for<expL1>] [ while<expL2>]
unde <domeniu>, for, while identifica īnregistrarile ce vor fi marcate pentru stergere. Domeniul implicit al comenzii delete este īnregistrarea curenta.
Accesul la īnregistrarile marcate pentru stergere este controlat de comanda set deleted
sintaxa : set deleted on |off
unde optiunea on determina ca īnregistrarile marcate pentru stergere sa nu poata fi folosite de comenzile care folosesc domeniul īnregistrarilor. Starea initiala este off. Comenzile care actioneaza asupra unei singure īnregistrari sau care au ca domeniu implicit īnregistrarea curenta nu sunt afectate de aceasta comanda.
n interiorul unui program testarea marcajului de stergere a unei īnregistrari se face cu functia deleted(). Aceasta returneaza valoarea logica .T. daca īnregistrarea curenta este marcata pentru stergere.
sintaxa : deleted( [<exp N>] )
unde <exp N> reprezinta zona de lucru īn care este deschisa b.d. īn cazul īn care functia se refera la alta b.d. decāt cea activa.
nlaturarea marcajului pentru stergere se realizeaza cu comanda recall; dupa ce marcajul a fost īndepartat īnregistrarea devine accesibila pentru toate comenzile.
sintaxa : recall
[<domeniu>] [for <expL1>] [while<expL2>]
nregistrarile care nu sunt marcate pentru stergere nu sunt afectate de aceasta comanda; domeniul implicit al comenzii recall este īnregistrarea curenta.
Pentru stergerea la nivel fizic se foloseste comanda pack
sintaxa : pack
Comanda realizeaza stergerea fizica a tuturor īnregistrarilor marcate pentru stergere din b.d. Dupa aplicarea comenzii pack asupra unei b.d. īnregistrarile nu mai pot fi refacute. stergerile sunt permanente.
O alta comanda cu privire la stergerea īnregistrarilor din b.d. este comanda zap.
sintaxa : zap
Comanda sterge fizic toate īnregistrarile din b.d. activa, fiind echivalenta cu secventa de instructiuni
delete all
pack
diferenta consta īn faptul ca zap este mai rapida.
Dupa aplicarea comenzii zap asupra unei b.d. īnregistrarile nu mai pot fi refacute. stergerile sunt permanente.
|