begin process at 2012 02 12 03:18:52
  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 MCD ???? [ par yazidak1 ] Bonjour j'ai comme mini-projet "La Gestion Des Stocks" d'une ETP Après avoir tracé les tables client,fournisseur, article .... il me reste le MCD( M Incrementation d'une date dans le SQL !!! [ par idrissiilias ] Bonsoir, Je cherche à savoir comment je peux incrémenter une date en SQL voici la requête [code=autre]location.datefin<=C.Date(31/1/2010)[/code] ET help [ par khoukha12 ] slt J'ai un problème je l'espère vous m'aider . Mon problème dans SQL SEVER 2005 il n'accepte pas le mot clé "AS" : [code=autre]create type type_Coo requête sur date [ par tif27940 ] Bonjour voila j'ai une table contact avec un champ dte_inactif qui soit contient une date soit est vide et je souhaite afficher les contacts qui on un Transaction [ par okosa ] Bonjour juste savoir comment transfèrer les données d'une Bdd à une autre j'&i éssayé : [code=autre] INSERT INTO Table_destin IN "MAbase.accdb" Selec [Optimisation] Liste des possibles non existants (Exclusion des existants) [ par jpvito ] Bonjour, Le titre est assez obscur, mais voici ce que j'entends : La table : SELECT SalesReasonID, Name FROM Sales.SalesReason [code=autre]SalesReas Erreur du système d'exploitation 3(Le chemin d'accès spécifié est introuvable.) [ par colonelblondass ] Bonjour Forum, Je fais du SQL et du T SQL. J'ai fais un petit code permettant d'importer dans une table tous les fichiers textes d'un dossier. Mon p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,934 sec (4)

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