We kunnen TABLE
. gebruiken functie op een verzameling om een lijst met cijfers/tekens te krijgen.
SELECT *
FROM TABLE ( sys.odcinumberlist(8779254,8819930,8819931) );
8779254
8819930
8819931
Hier gebruik ik Oracle's interne VARRAY
met een limiet van 32767. Je mag je eigen NESTED TABLE
. gebruiken typ.
create OR REPLACE TYPE yourtype AS TABLE OF NUMBER;
en selecteer het dan.
SELECT *
FROM TABLE ( yourtype(8779254,8819930,8819931) );
Uw vraag kan dus eenvoudig worden geschreven als
SELECT x_name
FROM table_x
WHERE x_id IN ( SELECT * FROM
TABLE ( yourtype(8779254,8819930,8819931) ) );
12.2 en hoger hoeft u niet eens TABLE
op te geven .
SELECT * FROM yourtype(8779254,8819930,8819931)
werkt.