Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/07/2011, 13h02   #1
 
Homme
Inscription : juillet 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juillet 2011
Messages : 1
Points : -2
Points : -2
Par défaut Annuler un script déjà exécuté (commit)

salut
j'ai exécuté un script sql sur mon BDD
Code :
INSERT INTO TABLE X VALUES ('clé', 'valeur');
comment je peut annuler
merci ?
noury83 est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 03/07/2011, 15h05   #2
Membre confirmé
 
Homme Ot Othman
Administrateur système et base de données
Inscription : décembre 2007
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Ot Othman
Âge : 24
Localisation : France, Aveyron (Midi Pyrénées)

Informations professionnelles :
Activité : Administrateur système et base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2007
Messages : 456
Points : 276
Points : 276
Envoyer un message via Skype™ à DBA_OCP
EDIT : ENORME ERREUR DE PARCOUR
DBA_OCP est déconnecté   Envoyer un message privé Réponse avec citation 12
Vieux 03/07/2011, 19h35   #3
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
Citation:
Envoyé par DBA_OCP Voir le message
Bonjour,

Ceci est une requête et non un script.
Depuis quand un insert est une requête?

Citation:
Le INSERT fait un COMMIT implicite
Depuis quand un insert fait un COMMIT implicite?

Je vous prie de bien vérifier vos réponses avant de les poster.

Bien cordialement

Mohamed Houri
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 10h13   #4
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
Citation:
Envoyé par Mohamed.Houri Voir le message
Depuis quand un insert fait un COMMIT implicite?
C'est un paramètre. Dans java je crois que c'est le défaut depuis la version jdbc d'Oracle 9. Dans SQLPLUS, le défaut est SET AUTOCOMMIT OFF

Dans sqlplus jusqu'à la version 11.1 et par défaut dans la version 11.2, SET EXITCOMMIT ON est le défaut, c'est-à-dire que SQLPLUS commit implicitement quand tu quittes.


Bon, pour revenir à la question de l'utilisateur :

Code :
1
2
RESTORE DATABASE UNTIL TIME '...';
RECOVER DATABASE UNTIL TIME '...';
Ou éventuellement avec les FLASHBACK QUERIES
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 10h15   #5
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
Citation:
Envoyé par DBA_OCP Voir le message
il faut supprimé la ligne ajoutée
excellent!

__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 10h36   #6
Rédacteur
 
Inscription : décembre 2002
Messages : 2 387
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 387
Points : 3 265
Points : 3 265
Citation:
Envoyé par noury83 Voir le message
comment je peut annuler
Il faut préciser quelle version d'Oracle vous avez (9i, 10g, 11g) et quelle édition (standard, entreprise).
Les solutions possibles ne seront pas les mêmes.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 11h06   #7
Membre expérimenté
 
Homme Mohamed Houri
Inscription : mars 2010
Messages : 286
Détails du profil
Informations personnelles :
Nom : Homme Mohamed Houri
Localisation : France

Informations forums :
Inscription : mars 2010
Messages : 286
Points : 563
Points : 563
Citation:
Envoyé par laurentschneider Voir le message
C'est un paramètre. Dans java je crois que c'est le défaut depuis la version jdbc d'Oracle 9.
Mais rien dans la question d'origine ne laisse entrevoir que l'insert a été fait depuis java etc...

Citation:
Dans SQLPLUS, le défaut est SET AUTOCOMMIT OFF

Dans sqlplus jusqu'à la version 11.1 et par défaut dans la version 11.2, SET EXITCOMMIT ON est le défaut, c'est-à-dire que SQLPLUS commit implicitement quand tu quittes.
Oui je sais. Commit lorsque qu'on quitte sqlplus sans erreur et rollback lorsque l'on le quitte avec erreur. Mais cela reste toujours un paramétrage de SQLPLUS dont la question n'en parle pas

Bien à vous

Mohamed Houri
Mohamed.Houri est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/07/2011, 13h19   #8
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Citation:
Envoyé par DBA_OCP Voir le message
Le INSERT fait un COMMIT implicite donc pour faire un retour arrière, il faut supprimé la ligne ajoutée (si c'est seulement une ligne) sinon faire un fashback...
Non non, seules les commandes DDL font un COMMIT, ce qui peut d'ailleurs poser pas mal de soucis si on n'y pense pas
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 14h19   #9
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 925
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 925
Points : 4 547
Points : 4 547
j'ai ajouté un article sur mon blog à propos du commit implicite ...
http://laurentschneider.com/wordpres...it-commit.html
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/07/2011, 15h05   #10
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
un billet de circonstance
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h15.


 
 
 
 
Partenaires

Hébergement Web