λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> λογισμικού βάσεων δεδομένων

Πώς να γίνει διάκριση μεταξύ Περικοπή & Διαγραφή σε Oracle

Υπάρχουν δύο τρόποι για την άρση των εγγραφών σε Oracle . Ο ένας είναι να χρησιμοποιήσετε το " σκοτώσει όλους » κατάσταση , όπου η εντολή TRUNCATE αδειάζει τελείως τον πίνακα βάσης δεδομένων , και η άλλη είναι η εντολή DELETE , η οποία μπορεί να φιλτράρει τα αρχεία τους υποψήφιους και να αντιστραφεί η δράση σε τέτοιες περιπτώσεις όπως τυχαία διαγραφή . Ο ασφαλέστερος τρόπος για να αποδείξει αυτή τη διαδικασία είναι η δημιουργία ενός δοκιμαστικού πίνακα και δοκιμάστε τους υποψήφιους εντολές έξω και όχι το πείραμα σε μια υπάρχουσα βάση δεδομένων . Οδηγίες
DELETE
Η 1

Δημιουργία ενός δοκιμαστικού πίνακα και να συμπληρώσετε τα στοιχεία για να ελέγξετε το αποτέλεσμα . Τα δεδομένα που εισάγονται δείχνει τη χρήση της διαγραφής και τη δήλωση κολόβωμα , ως εξής :

CREATE TABLE δοκιμή ( testdata VARCHAR2 ( 2 ) ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( AX » ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( AY ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( « Α-Ω ») ?

INSERT INTO δοκιμή ( testdata ) ΑΞΙΕΣ ( BX ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( ΑΝΑ ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( « ΒΖ » ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( CX ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( CY ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( «CZ» ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( DX ) ?

INSERT INTO δοκιμής ( testdata ) ΑΞΙΕΣ ( DY ) ?

ΕΝΘΕΤΟ σΕ δοκιμής ( testdata ) ΑΞΙΕΣ ( DZ ) ?

ΔΕΣΜΕΥΣΗ ?

SELECT * FROM δοκιμή? 2

Διαγραφή από έναν αριθμό γραμμών χρησιμοποιώντας την εντολή delete , αλλά δεν δεσμεύουν το αποτέλεσμα . Αυτό θα δείξει πώς διαγραφής προστατεύει τα δεδομένα από τυχαία διαγραφή , υπό κανονικές συνθήκες . Οι διαγραφής εντολή εκτελείται από την γραμμή εντολών ως εξής :

SQL > ΔΙΑΓΡΑΦΗ ΑΠΟ ΟΠΟΥ δοκιμή testdata LIKE ' Α% » ?

Αυτό θα διαγράψει όλες τις σειρές πρόθεμα " A " και αφήστε το . υπόλοιπο που απομένει

επαναφοράς της αποτέλεσμα και να εμφανίσετε τα αποτελέσματα του πίνακα , όπως έτσι :

SQL > ROLLBACK ?

Αυτό θα αντιστρέψει την προηγούμενη διαγραφής δήλωση και ο πίνακας θα πρέπει τώρα να επανέρχεται στην αρχική του κατάσταση . Αυτό είναι επαληθεύσιμη από :

SQL > SELECT * FROM δοκιμή?
Εικόνων 3

Εκτελέστε την εντολή DELETE ξανά , τότε " ΔΕΣΜΕΥΣΗ " και " ROLLBACK " πριν από τη δοκιμή της εξόδου όπως απεικονίζεται :

SQL > ΔΙΑΓΡΑΦΗ ΑΠΟ ΟΠΟΥ δοκιμή testdata LIKE ' Α% » ?

SQL > ΔΕΣΜΕΥΣΗ ?

SQL > ROLLBACK ?

SQL > SELECT * FROM δοκιμή?

Αυτό δείχνει ότι η Oracle " DELETE " δήλωση υπήρξε αποτελεσματική και αγνόησε τη δήλωση επαναφοράς , λόγω της δράσης " ΔΕΣΜΕΥΣΗ " λαμβάνει χώρα αμέσως μετά . Αυτό σημαίνει ότι όλες οι γραμμές που αρχίζουν με "Α" στο " testdata " πεδίο εξαφανίζονται από τη βάση δεδομένων και να μην αποδίδονται με ένα " ROLLBACK " δήλωση.
Εικόνων TRUNCATE
Η 4

Εκτελέστε μια δήλωση κολόβωμα στην τράπεζα δοκιμών ως εξής :

SQL > tRUNCATE δοκιμή ΠΙΝΑΚΑΣ ?
5

επαναφοράς της προηγούμενης κατάστασης ως εξής :

SQL > ROLLBACK ?
Η 6

Επιλέξτε στοιχεία από τον πίνακα δοκιμής ως εξής :

SQL > SELECT * FROM δοκιμή?

Αυτό δεν δείχνει στοιχεία πάνω στο τραπέζι . Η " ROLLBACK " δήλωση δεν λειτουργεί με την εντολή TRUNCATE και όλες οι γραμμές στη βάση δεδομένων εξαφανίζονται .

Μια άλλη σημαντική διαφορά από το " DELETE " είναι ότι " TRUNCATE " λειτουργεί πιο γρήγορα, αλλά δεν είναι σε θέση να το φιλτράρισμα δεδομένων χρησιμοποιώντας ένα "WHERE " ρήτρα ( σε αντίθεση με DELETE ) .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα