Vérifiez s'il existe au sein de SQL CAS de déclaration

Je suis en train de mettre à jour une colonne dans le tableau a basée sur le fait qu'une autre colonne de la table est dans un ensemble de résultats à partir de la table b. Actuellement variations sur:

update a
set a.field1 =
 case
 when exists (
   select b.field2
   from b
   where b.field2 = a.field2
 )
 then 'FOO'
 else 'BAR'
 end

ne sont pas en cours d'exécution. Des idées comment faire pour une base de données DB2?

Modifier: Merci pour vos réponses, mieux que je puisse faire est

update a set field1 = 'FOO' where field2 in (select field2 from b);

update a set field1 = 'BAR' where field2 not in (select field2 from b);

Mais je vais laisser cette ouvert au cas où quelqu'un peut trouver une version du code qui fonctionne.

OriginalL'auteur nearly_lunchtime | 2009-02-19