TABLE
を使用できます コレクションの関数を使用して、数字/文字のリストを取得します。
SELECT *
FROM TABLE ( sys.odcinumberlist(8779254,8819930,8819931) );
8779254
8819930
8819931
ここでは、Oracleの内部VARRAY
を使用しています。 32767の制限があります。独自のNESTED TABLE
を使用できます タイプ。
create OR REPLACE TYPE yourtype AS TABLE OF NUMBER;
次にそれを選択します。
SELECT *
FROM TABLE ( yourtype(8779254,8819930,8819931) );
したがって、クエリは単純に次のように記述できます
SELECT x_name
FROM table_x
WHERE x_id IN ( SELECT * FROM
TABLE ( yourtype(8779254,8819930,8819931) ) );
12.2以降では、TABLE
を指定する必要もありません。 。
SELECT * FROM yourtype(8779254,8819930,8819931)
動作します。