Requête update sql/as400

vkrf Messages postés 1 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006 - 23 nov. 2006 à 15:50
raimora Messages postés 1 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 7 juillet 2011 - 7 juil. 2011 à 17:18
Bonjour
Je rencontre sur as/400 v5r1  un problème avec la requete SQL suivante :
update mabib/fichier1 set colonne100 (select colonne2 from mabib/fichier2 where colonne1 fichier1.colonne2)

le système me propose une mise à jour du fichier , la MAJ ne s'effectue pas , message " valeurs indéfinies non admises dans la colonne100"

si je modifie la requête comme ceci :
update mabib/fichier1 set colonne100 (select colonne2 from mabib/fichier2 where colonne1 fichier1.colonne2) where colonne2 =10

la requête met à jour correctement l'enregistrement correspondant

Mais je veux une mise à jour de toutes les colonne100 du fichier 1.

Une idée serait la bienvenue ........

Merci
A voir également:

3 réponses

cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
25 nov. 2006 à 02:04
En fait un petit prog en C et une entrée dans la CRON Table
Mais je suis pas spécialiste linux y'a peuêtre mieux
0
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
25 nov. 2006 à 02:05
Oupss pardon je me suis tromper de message désoler
0
raimora Messages postés 1 Date d'inscription jeudi 24 juillet 2008 Statut Membre Dernière intervention 7 juillet 2011
7 juil. 2011 à 17:18
le pb est vieux mais la reponses pourra surement encore en aider d'autres il faut ecrire la requete comme suit

update mabib/fichier1 set colonne100 (select colonne2 from mabib/fichier2 where colonne1 fichier1.colonne2)
where exists (select 'x' from mabib/fichier2 where colonne1 = fichier1.colonne2)

C'est un pb DB2 il va lire la table mabib/fichier1 de façon séquentielle et s'il ne trouve pas de valeur a mettre a jour (select colonne2 from mabib/fichier2 where colonne1 = fichier1.colonne2 n'est pas trouvé) alors il met ce message d'erreur.

il faut donc rajouter un exists! pour qu'il ne lise que les enregistrements de mabib/fichier1 qui existent dans mabib/fichier2
0
Rejoignez-nous