Il ya deux façons d'éliminer les enregistrements dans Oracle. La première consiste à utiliser le " tuer tous " situation où la commande TRUNCATE vide complètement la table de base de données , et l'autre est la commande DELETE , qui peut filtrer les enregistrements éventuels et inverser l'action dans des cas tels que la suppression accidentelle . La meilleure façon de démontrer ce processus est de créer une table de test et d'essayer les commandes potentiels sur l'expérience plutôt que sur une base de données existante . Instructions Supprimer 1 Créer une table de test et de le remplir avec des données pour tester le résultat. Les données insérées illustre l'utilisation de la suppression et la déclaration tronquée, comme suit : CREATE TABLE test ( testdata VARCHAR2 ( 2)); INSERT INTO essai ( testdata ) VALUES (' AX '); INSERT INTO essai ( testdata ) VALUES (' AY ' ); INSERT INTO essai ( testdata ) VALUES ( ' AZ '); INSERT INTO essai ( testdata ) VALUES (' BX' ); INSERT INTO essai ( testdata ) VALUES (' par'); INSERT INTO essai ( testdata ) VALUES (' BZ '); < br > INSERT INTO essai ( testdata ) VALUES (' CX' ); INSERT INTO essai ( testdata ) VALUES (' CY '); INSERT INTO essai VALUES ( testdata ) ( « CZ ») ; INSERT INTO essai VALUES ( testdata ) (' DX '); INSERT INTO essai ( testdata ) VALUES (' DY '); INSERT EN essai ( testdata ) VALUES (' DZ ') ; COMMIT ; SELECT * FROM test ; 2 Supprimer un certain nombre de lignes à l'aide de la commande delete , mais ne commettez pas le résultat. Cela montrera comment supprimer protège les données contre une suppression accidentelle dans des circonstances normales . La commande delete fonctionne en ligne de commande comme suit : SQL > DELETE FROM test où testdata LIKE ' A% '; Ceci va supprimer toutes les lignes préfixées par "A" et de laisser le reste demeurant Rollback le résultat et afficher les résultats de la table comme ceci: . SQL > ROLLBACK ; Cela inversera la déclaration de suppression précédent et le tableau doit maintenant être remise à son état original. Ceci est vérifiable par: SQL > SELECT * FROM test ; 3 Exécutez la commande DELETE nouveau, puis "Commit " et " démantèlement" avant de tester la sortie comme illustré : SQL > DELETE FROM test où testdata LIKE ' A% '; SQL > COMMIT ; SQL > ROLLBACK ; SQL > SELECT * FROM test ; Cela montre que la déclaration Oracle "DELETE" a été efficace et a ignoré la déclaration d'annulation , en raison d'une action " COMMIT " qui aura lieu immédiatement après. Cela signifie que toutes les lignes commençant par "A" dans le champ " testdata " disparaissent de la base de données et ne sont pas récupérables avec une déclaration «rollback ». TRUNCATE 4 < p> Exécuter une déclaration tronquée sur la table de test comme suit : SQL > Test de TRUNCATE tABLE ; 5 Rollback la déclaration précédente comme suit: SQL > ROLLBACK ; 6 sélectionner des éléments dans la table de test comme suit: SQL > SELECT * FROM test ; Cela montre pas d'articles sur la table. La déclaration «rollback » ne fonctionne pas sur la commande TRUNCATE et toutes les lignes de la base de données disparaissent. Une autre différence majeure "DELETE" est que " TRUNCATE " travaille plus vite, mais n'est pas capable de filtrer les données à l'aide une clause «WHERE» (contrairement DELETE).
|