Re: Truc bizarre dans where in

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: Raw Message | Whole Thread | 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

In response to

Responses

Browse pgsql-fr-generale by date

  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