| From: | Dimitri Fontaine <dfontaine(at)hi-media(dot)com> |
|---|---|
| To: | pgsql-fr-generale(at)postgresql(dot)org |
| Cc: | c(dot)maumont(at)univitis(dot)fr |
| Subject: | Re: Truc bizarre dans where in |
| Date: | 2009-03-12 09:55:57 |
| Message-ID: | 200903121055.57648.dfontaine@hi-media.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-fr-generale |
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ludovic Levesque | 2009-03-12 09:58:12 | Re: Truc bizarre dans where in |
| Previous Message | c.maumont | 2009-03-12 09:19:29 | Truc bizarre dans where in |