Truc bizarre dans where in

From: <c(dot)maumont(at)univitis(dot)fr>
To: <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Truc bizarre dans where in
Date: 2009-03-12 09:19:29
Message-ID: 5396D5718EFD454CA8764251327595E1202D1E@EVS01.hexv2.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

Je viens de tomber sur un truc qui m'interpelle :

J'ai lancé une requête contenant une erreur :

UPDATE formu SET soc = '2' WHERE n_formu in (SELECT n_formu FROM cp WHERE n_tcp = 11 OR n_tcp = 12);

L'erreur c'est qu'il n'y a pas de colonne n_formu dans la table cp.
J'aurais du AMHA avoir une sortie en erreur alors que l'update a été effectué sur toutes les lignes de la table (sur une base de test OUF !).

C'est d'autant plus drôle que si je lance :

UPDATE formu SET soc = '2' WHERE n_formu in (SELECT toto FROM cp WHERE n_tcp = 11 OR n_tcp = 12);

J'ai bien une erreur : ERREUR: la colonne « toto » n'existe pas

Y-a-il une subtilité SQL qui m'échappe ?

DEBIAN/ETCH
psql -V
psql (PostgreSQL) 8.1.11

Cordialement.

Christophe Maumont

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Dimitri Fontaine 2009-03-12 09:55:57 Re: Truc bizarre dans where in
Previous Message Stephane Bortzmeyer 2009-03-09 13:09:34 Re: Langage de requête de la recherche plein texte : des opérateurs non documentés ?