100
,因此您可以生成包含100条记录,其值为1,2,3,4 ... 100的结果集,如下所示:
1
2
3
4
...
100
我知道存储过程可以做到这一点,我想知道是否还有其他方法只使用sql语句?
答案 0 :(得分:4)
select level
from dual
connect by level <= 100
答案 1 :(得分:2)
这是另一种使用model
子句的方法。 (Oracle 10g及更高版本)。
SQL> select x
2 from dual
3 model
4 dimension by (0 as z)
5 measures (0 as x)
6 rules iterate(101) (
7 x[iteration_number] = iteration_number
8 )
9 ;
X
----------
0
1
2
3
4
5
6
7
8
9
10
11
...
100
答案 2 :(得分:1)
请尝试使用CTE:
WITH numbers(n) AS
(
SELECT 1 FROM dual
UNION ALL
SELECT n + 1 FROM numbers WHERE n < 100
)
SELECT * FROM numbers;
答案 3 :(得分:1)
使用分层查询是传统的:
select level
from dual
connect by level <= 100