Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

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: Thu, 12 Mar 2009 10:55:57 +0100
  • Message-id: <200903121055.57648.dfontaine@hi-media.com> <text/plain>

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.



Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group