Bonjour à tous, On Thursday 12 March 2009 10:19:29 c(dot)maumont(at)univitis(dot)fr wrote: > UPDATE formu SET soc = '2' WHERE n_formu in (SELECT n_formu FROM cp WHERE > n_tcp = 11 OR n_tcp = 12); [...] > (sur une base de test OUF !). [...] > Y-a-il une subtilité SQL qui m'échappe ? Deux en fait. La première, toute opération de maintenance interactive commence par BEGIN; On ne dit pas "OUF c'était en test", on dit ROLLBACK. La seconde, les sous-requêtes peuvent être corrélées dans PostgreSQL, cela signifie que n_formu dans le SELECT existe bien, c'est la valeur « récupérée » au dessus dans l'UPDATE. Pour distinguer d'une colonne dans la table cp, tu peux peut être essayer SELECT cp.n_formu dans la sous-requête. Cordialement, -- dim
Attachment:
signature.asc
Description: This is a digitally signed message part.