J'utilise le système de base de données IBM DB2. J'ai une table avec 3 colonnes (1 clé primaire et autres) que je remplis après avoir lu un fichier CSV. Il arrive que parfois je reçois des données répétées de mon fichier alors dans ce cas je dois l'ignorer.Db2: Comment insérer de nouvelles données et les mettre à jour?
Mon problème est que là, je ne peux pas trouver l'instruction SQL Db2 correcte qui fera insérer ou de mise à jour. Avec ma solution actuelle, je reçois une exception dans mon code:
DB2 SQL Error: SQLCODE=-803, SQLSTATE=23505, SQLERRMC=1;DB2INST1.TI_APGROUP_0, DRIVER=4.12.55
Y at-il un moyen simple de INSERT
ou UPDATE
?
Je suis en train avec cette requête: MERGE EN KDDBD01.KDTCTCT AS CT UTILISATION (SELECT ADR_MAIL_UTIL DE KDDBD01. KDTCTCT) AS CT1 (ADR_MAIL_UTIL) ON (CT.ADR_MAIL_UTIL = CT1.ADR_MAIL_UTIL) QUAND ALORS pas couvertes INSERT (CT.ADR_MAIL_UTIL) VALUES ('GENERIQUE courrier Boite') ' mais j'obtiens' Avertissement: DB2 Avertissement SQL : SQLCODE = 100, SQLSTATE = 02000, SQLERRMC = null, DRIVER = 4.12.56 SQLState: 02000 ErrorCode: 100' –
warning (SQLCODE = 100) signifie simplement qu'aucune ligne n'a été trouvée. Ce n'est pas une erreur. – mao
Oui, je suppose que c'est parce que 'SELECT ADR_MAIL_UTIL FROM KDDBD01.KDTCTCT' ne retourne aucune ligne quand je l'exécute pour la première fois et c'est tout à fait logique! Parce que dans mon cas je veux insérer des données seulement quand elles ne sont pas existantes. Je suis confus je ne peux pas trouver une solution pour cette requête –