Requête update sql/as400

Signaler
Messages postés
1
Date d'inscription
jeudi 23 novembre 2006
Statut
Membre
Dernière intervention
23 novembre 2006
-
Messages postés
1
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 juillet 2011
-
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

Messages postés
268
Date d'inscription
samedi 22 février 2003
Statut
Membre
Dernière intervention
24 avril 2013
3
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
Messages postés
268
Date d'inscription
samedi 22 février 2003
Statut
Membre
Dernière intervention
24 avril 2013
3
Oupss pardon je me suis tromper de message désoler
Messages postés
1
Date d'inscription
jeudi 24 juillet 2008
Statut
Membre
Dernière intervention
7 juillet 2011

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