CREATE OR REPLACE TYPE myTableType AS TABLE OF VARCHAR2(20);
创建函数:
CREATE OR REPLACE FUNCTION str2tbl(Name1 in type, Name2 in type, ...) RETURN myTableType
AS
l_data myTableType := myTableType();
l_p PLS_INTEGER;
BEGIN
LOOP
exit when ...
...
l_data.EXTEND;
...
...
l_data(l_p) := :value;
END LOOP;
RETURN l_data;
END;
例如我生成了1101条范围值
SQL> SELECT COUNT(*) FROM (TABLE(str2tbl));
COUNT(*)
----------
1101
SQL> select ID from test t WHERE ID IN (SELECT * FROM (TABLE(str2tbl)));