Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels 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 07/12/2006, 14h25   #1
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 81
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 81
Points : 37
Points : 37
Par défaut Erreur ORA-00001 lors d'un enregistrement

Bonjour,

Lors d'un enregistrement, j'ai l'erreur ORA-0001. Je me suis renseigné sur la nature de cette erreur et on me dit que c'est que j'ai essayé d'insérer un enregistrement dont la clé unique est existante.

Hors cela me parait impossible puisque j'en génère une nouvelle avant l'enregistrement (mais une erreur est toujours possible), et de deux, il m'insère quand meme l'enregistrement dans la table...

Est ce que cette erreur peut avoir une autre cause?

MErci de votre aide
__________________
Tout ch'ti qui pisse i tient s'biroute din ch'min
La victoire est conservatrice, la défaite est évolutive
gscorpio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 14h52   #2
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Citation:
Envoyé par gscorpio
Hors cela me parait impossible puisque j'en génère une nouvelle avant l'enregistrement (mais une erreur est toujours possible)
Vous voulez dire que vous utilisez une séquence ?
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 15h10   #3
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 81
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 81
Points : 37
Points : 37
Merci d'avoir répondu.
L'un des champs de ma clé primaire est constitué d'un numéro.
Je génère ce numéro avant l'enregistrement en faisant une requete SQL pour obtenir le plus grand numéro existant.
Et ensuite je lui ajoute 1.

C'est ce que je voulais dire, donc impossible que ce numéro existe déjà dans la base...
__________________
Tout ch'ti qui pisse i tient s'biroute din ch'min
La victoire est conservatrice, la défaite est évolutive
gscorpio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2006, 15h52   #4
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
OH ! MY GOD !

Question intégrité des données, vous avez malheureusement tout faux.
Pour vous en persuader : http://sql.developpez.com/clefs/#L3.1

D'ailleurs Oracle est l'un des 2 SGBDR (à ma connaissance) possédant un mécanisme vous permettant de gérer facilement cette fonctionnalité.
Il s'agit des séquences.
Quelques recherches sur la FAQ Oracle, dans ce forum, etc. vous donneront rapidement des pistes à suivre.
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 13h09   #5
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 81
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 81
Points : 37
Points : 37
Soit! Désolé de vous avoir choqué ^^
Je vais me renseigner sur l'utilisation des séquences. Seulement, je ne peux pas créer de nouvelle table, j'espère que ca ne sera pas génant.

Merci encore, je reviendrai si j'ai des problèmes
__________________
Tout ch'ti qui pisse i tient s'biroute din ch'min
La victoire est conservatrice, la défaite est évolutive
gscorpio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h56.


 
 
 
 
Partenaires

Hébergement Web