SQLパススルーの注意点

Verticaに発行するクエリのWHERE句の条件値を複数条件「OR」で接続した場合、条件指定が効きません。

【例】
SELECT * FROM test WHERE col1 = 2 OR 1;
 
WebFOCUSにてSQLパススルーを使用する場合も同様に、条件指定が効きません。

対応方法

複数の条件式を「OR」で接続するか、IN句を使用してください。

【例】
SELECT * FROM test WHERE col1 = 1 OR col1 = 2;
SELECT * FROM test WHERE col1 IN (1, 2);
(※)WebFOCUSプロシジャで生成されるSQLは、自動的にIN句へ変換されます。

検証バージョンについて

この記事の内容はWebFOCUS 8.2.01 で確認しています。

更新履歴

2020/05/07 本記事を公開