[pgsql-jp: 36821] Re: WHEREにSELECTふたつ
河本陽一
komoto.yoichi @ kcc.co.jp
2006年 3月 3日 (金) 20:02:12 JST
こうもとです。
Naoki.Kuniyoshi. さんの書いたこと:
> これだと、1件のみ対象で、それ以上はエラーになりませんか?
> Oracleだとその場合、エラーになります。
PostgreSQLでは、対象が複数の場合でも大丈夫でした。
# UPDATE t1 SET f3=f3+1 where (f1)=(SELECT f1 FROM t2 WHERE f5='a02');
UPDATE 2
> そういう場合は、inを使えば対応できるかと。
>
> UPDATE t1 SET f3 = 10
> WHERE (f1, f2) in (SELECT f1, f2 FROM t2 WHERE f5='a02');
PostgreSQLでも、動作しました。
# UPDATE t1 SET f3=f3+1 where (f1) in (SELECT f1 FROM t2 WHERE
f5='a02');
UPDATE 2
======================================================================
河本陽一(こうもとよういち)
mailto:komoto.yoichi @ kcc.co.jp
pgsql-jp メーリングリストの案内