begin process at 2010 02 09 22:39:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

PostgreSQL

 > 

Requêtes

 > 

Je ne comprend pas mon erreur (requête INSERT)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Je ne comprend pas mon erreur (requête INSERT)

jeudi 25 juin 2009 à 10:10:19 | Je ne comprend pas mon erreur (requête INSERT)

Polack77

Bonjour,

Je doit modifier des codes d'une table (à priori rien de très compliqué quoi)
Je veut gardé mon ancienne table pour pouvoir continué à bossé cas d'erreur. Et surtout évité les doublons (de toute façon au vue des contraintes de mes tables les doublons ne sont pas possible )

Tout les codes ne sont pas à remplacés et certaines lignes sont amené à disparaitre (certain nouveau code existe déjà dans la liste des anciens codes, les données sont réunie ensuite en quelque sorte)

J'ai déjà alimenté ma nouvelle table avec tout les code à remplacé.
Pas de problème sur ce point sa à bien fonctionné.
Je post quand même la requete :
---------------------------------------------------------------------------------------------------
INSERT INTO "ART_PLANIPE_TRANSCODE"(
            "CODE_DÉPÔT", "CODE_ARTICLE","CODE_ARTICLE_OLD")
        select
            a."CODE_DÉPÔT" as "CODE_DÉPÔT",
            b."NOUVEL ARTICLE CABN ou CABS" as "CODE_ARTICLE",
            a."CODE_ARTICLE" as "CODE_ARTICLE_OLD"
        FROM
            "ART_PLANIPE" a,
            "Transcodification_CAB_CABN_CABS" b
        WHERE
            a."CODE_ARTICLE" = b."ARTICLE CAB"
    UNION
        select
            a."CODE_DÉPÔT" as "CODE_DÉPÔT",
            b."NouvelArticle" as "CODE_ARTICLE",
            a."CODE_ARTICLE" as "CODE_ARTICLE_OLD"
        FROM
            "ART_PLANIPE" a,
            "Transcodification_TEE_MER_SCH" b
        WHERE
            a."CODE_ARTICLE" = b."AncienneArticle"

---------------------------------------------------------------------------------------------------
Maintenant j'ai donc la liste de tout les code qui sont à remplacé. Maintenant je voudrais alimenté le reste.
Je fait donc cette requete :
---------------------------------------------------------------------------------------------------
INSERT INTO "ART_PLANIPE_TRANSCODE"("CODE_DÉPÔT", "CODE_ARTICLE","CODE_ARTICLE_OLD")
    SELECT
        a."CODE_DÉPÔT",
        a."CODE_ARTICLE",
        ''::text as "CODE_ARTICLE_OLD"
    FROM
        "ART_PLANIPE" a,
        "ART_PLANIPE_TRANSCODE" b
    WHERE
        a."CODE_ARTICLE" not in (select "CODE_ARTICLE_OLD" from "ART_PLANIPE_TRANSCODE")
        AND
        (a."CODE_DÉPÔT", a."CODE_ARTICLE") not in (select "CODE_DÉPÔT","CODE_ARTICLE" from "ART_PLANIPE_TRANSCODE")

---------------------------------------------------------------------------------------------------
Et la hooooooooo surprise mon sgbd (PostgreSQL) me renvoie :
ERREUR:  la valeur d'une clé dupliquée rompt la contrainte unique « KEY_ART_PLANIPE_TRANSCODE »
???
Ce n'est en principe pas possible au vue de ma requete vue que j'exclus toute les données déjà présente dans mon WHERE ???

J'ai déjà une solution pour quand même pouvoir faire ce que je veut (une troisième table alimenté par requete UNION, ce qui évite les doublons, et sa sera plus rapide à exécuté en plus )
Mais je voudrais comprendre ou ce trouve mon erreur car la vraiment je ne comprend pas ????

Merci d'avance

 Amicalement
1 000 Recherche sur Google = 1Km en voiture de CO²
1 000 Recherche sur Forestle = 100 m² de foret tropicale sauvé
Surfé écolo


Cette discussion est classée dans : code, article, art, transcode, planipe


Répondre à ce message

Sujets en rapport avec ce message

Association n,m entre deux tables sans intégrité référentielle POSSIBLE ??? [ par aitoz ] Bonjour,Je patauge depuis 2 jours sur un une relation entre deux tables.Mon message d'erreur dit :Les colonnes de la table 'DICO' ne correspondent pas modification dans une jointure [ par marocmarocmaroc ] Salutj'ai un problème en sql/php  je veux modifier des champs issues de deux  tables  article (code_article,designation) et article_magasin(qte_stocke provléme de recursivité [ par zwiki ] bonjour tout le monde j'ai un message d'erreur qui s'affiche avec cette requette "Syntaxe incorrecte vers le mot clé 'WITH'" malgré que j'ai bien suiv php case a cocher... bref, du déjà vu [ par DreadyLion ] salut [^^happy8] Obligé de commencer par un smiley quand on va poser ce genre de question: Bon, je me lance, mais avant, sachez que je cherche (surem qui vérifie mon code? [ par DreadyLion ] salut, le formulaire fonctionne mais les boutons radios n'inscrivent rien dans la base... les champs concernés sont : "genre" varchar 255 "activite" v requete insert avec variables, [ par sisi85 ] Hello, je code avec java et je veus charger ma table en utulisant requete insert. le probleme est que je saia pas comment faire insert avec des varab Calcul de pourcentage. [ par AUZUR ] Bonjour à tous, voila, j'ai un problème avec une requète SQL, sur SQLServer. J'ai une table TabReg(NomRegion, CAreg, Population) avec laquelle, j'aim Facturation médicale [ par wangi ] Je suis en train de développer une application de la gestion des patients en java qui doit aussi être capable d'imprimer les factures de chaque patien Ado.Net VB.Net Ajouter une table et des colonnes [ par MagDix ] Bonjour à tous J'aimerais me créer un table avec quelques colonnes. J'utilise VB.Net pour programmer et je suis donc avec Ado.Net et VB.Net. J'uti copier une SP sur une base distante [ par BasicInstinct ] Bonjour, je vais essayer d'être clair dans mon problème : j'ai une base DEV qui contient toute la structure à jour d'un logiciel j'ai toute une sér


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales