IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Erreur ORA-00001 lors d'un enregistrement


Sujet :

Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 81
    Points : 67
    Points
    67
    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

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    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 ?

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 81
    Points : 67
    Points
    67
    Par défaut
    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...

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    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.

  5. #5
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 81
    Points : 67
    Points
    67
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur ora 30574 lors de la création d'1 rollback_segment
    Par leng dans le forum Administration
    Réponses: 15
    Dernier message: 08/12/2006, 17h02
  2. Réponses: 4
    Dernier message: 06/10/2006, 15h36
  3. Réponses: 1
    Dernier message: 02/06/2006, 14h28
  4. [imp] ORA-00001 lors d'import de séquences
    Par exempleinfo dans le forum Oracle
    Réponses: 1
    Dernier message: 17/02/2006, 11h41
  5. erreur "ORA-22905" lors de l'execution d'un requet
    Par benji999 dans le forum Administration
    Réponses: 26
    Dernier message: 14/04/2004, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo