私はSQLクエリを持っています:
select * from table where id in (1,2)
1,2 は動的に追加するパラメータです。しかし、空のセットがある場合:
select * from table where id in ()
次に、このクエリ呼び出しの例外:
ERROR at line 1:
ORA-00936: missing expression
空のセットでSQLを作成するにはどうすればよいですか
私はSQLクエリを持っています:
select * from table where id in (1,2)
1,2 は動的に追加するパラメータです。しかし、空のセットがある場合:
select * from table where id in ()
次に、このクエリ呼び出しの例外:
ERROR at line 1:
ORA-00936: missing expression
空のセットでSQLを作成するにはどうすればよいですか
いつでもnull
セットに追加できるため、実際のセットが空の場合、構文エラーは発生しません。
select * from table where id in (null,1,2)
対
select * from table where id in (null)
,
追加するすべてのアイテムの前に、それが最初のものかどうかを確認せずに出力できるため、ジェネレーターもより簡単になります。
もちろん、SQL を生成しているので、SQL インジェクションに対する標準的な予防措置が適用されます。生成する SQL の近くにユーザー入力を許可しないでください。
これを試して
select * from table where id in (null)