Wir können TABLE
verwenden Funktion für eine Sammlung, um eine Liste von Zahlen / Zeichen zu erhalten.
SELECT *
FROM TABLE ( sys.odcinumberlist(8779254,8819930,8819931) );
8779254
8819930
8819931
Hier verwende ich Oracles internen VARRAY
mit einem Limit von 32767. Sie können Ihre eigene NESTED TABLE
verwenden Typ.
create OR REPLACE TYPE yourtype AS TABLE OF NUMBER;
und wählen Sie es dann aus.
SELECT *
FROM TABLE ( yourtype(8779254,8819930,8819931) );
Ihre Abfrage kann also einfach geschrieben werden als
SELECT x_name
FROM table_x
WHERE x_id IN ( SELECT * FROM
TABLE ( yourtype(8779254,8819930,8819931) ) );
12.2 und höher müssen Sie nicht einmal TABLE
angeben .
SELECT * FROM yourtype(8779254,8819930,8819931)
funktioniert.