类型构造 + 笛卡尔乘积方法
本节将介绍如何使用类型构造和笛卡尔乘积来生成连续整数。
要求
这个方法也要求nested table type 或者varry type.我们使用一个名为 INTEGER_TABLE_TYPE 的类型.
desc integer_table_type
integer_table_type TABLE OF NUMBER(38)
方法
如果你想在类型构造方法里取得很大数目的整数是一个比较困难的方法。在这里,配合上笛卡尔乘积,只需一小点代码,就可以得到很大数目的整数序列
返回9行(3x3)
select rownum
from
table( integer_table_type( 1,2,3 ) ) i1,
table( integer_table_type( 1,2,3 ) ) i2
;
ROWNUM
----------
1
2
3
4
5
6
7
8
9
返回12行(3x4)
select rownum
from
table( integer_table_type( 1,2,3 ) ) i1,
table( integer_table_type( 1,2,3,4 ) ) i2
;
ROWNUM
----------
1
2
3
4
5
6
7
8
9
10
11
12
返回10000行(10^4)
with i as
(
select * from table
( integer_table_type( 1,2,3,4,5,6,7,8,9,10 ) )
)
select rownum
from i,i,i,i
where rownum <= 15 ;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9036/viewspace-602/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9036/viewspace-602/