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

Truc bizarre dans where in



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




Home | Main Index | Thread Index

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