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

SQL Oracle Discussion :

Mise à jour clé primaire


Sujet :

SQL Oracle

  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut Mise à jour clé primaire


    J'ai une table de liaison qui comporte deux clés étrangères et une primaire qui forment ensemble la clé primaire de cette table.
    Il faudrait que je mette à jour des données d'une clé étrangère dans cette table de liaison mais je Oracle m'en empêche car ce qui tombe sous le sens...
    ORA-00001: violation de contrainte unique (EXPLOITATIONS.Key22)
    Via cette requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    UPDATE t_liste_sols ae
       SET ae.id_sol = 'Guide 1-fiche2-S'
     WHERE ae.id_champ IN (SELECT ls.id_champ
                             FROM t_liste_sols ls, t_champs c
                            WHERE     c.id_perimetre = '82'
                                  AND ls.id_champ = c.id_champ
                                  AND id_sol = 'Guide 1-fiche2');
    J'ai beau désactiver les contraintes, rien n'y fait. Comment puis-je mettre à jour mes données ?


    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Là vous n'êtes pas contraint ... par les contraintes mais par un problème d'unicité de clef
    Avez vous vérifié combien de lignes sont lues par votre subselect ?

    Au passage, une clef primaire de type texte et qui combine des minuscules et majuscules ... c'est ni pratique, ni optimisé

  3. #3
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Avez vous vérifié combien de lignes sont lues par votre subselect ?
    Oui, il y en a 31. Je les modifierais bien manuellement mais j'ai plusieurs jeux de valeurs de ce type à modifier et ce serait trop long.

    Citation Envoyé par escartefigue Voir le message
    Au passage, une clef primaire de type texte et qui combine des minuscules et majuscules ... c'est ni pratique, ni optimisé
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 910
    Points
    38 910
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par Franck.H Voir le message
    Oui, il y en a 31. Je les modifierais bien manuellement mais j'ai plusieurs jeux de valeurs de ce type à modifier et ce serait trop long.
    Oui mais qui dit clef primaire dit unique, du coup votre subselect ne doit ramener qu'une seule occurrence.
    A vous de trouver une requête plus filtrante dans le subselect (ou une autre méthode) pour garantir l'unicité

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/07/2010, 15h19
  2. Mise à jour clé primaire merge()?
    Par Razielback dans le forum Persistance des données
    Réponses: 6
    Dernier message: 25/06/2010, 11h21
  3. Mise à jour clée primaire
    Par kfmystik dans le forum kettle/PDI
    Réponses: 5
    Dernier message: 11/09/2008, 14h59
  4. Mise à jour sur clés primaires
    Par belsuncette dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 25/07/2007, 06h45
  5. requête VBA mise à jour et clé primaire
    Par kiki.gaby dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/01/2007, 18h00

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