トップページに戻る
次のSQLパズルへ
前のSQLパズルへ
10-172 dual表からの連番の作成
SQLパズル
dualテーブルから1から10までの連番を作成する。
出力結果
Val
---
1
2
3
4
5
6
7
8
9
10
SQL
--■■■cubeとgrouping_IDを使う方法■■■
select Row_Number() over(order by 1) as Val
from dual
group by cube(1,2,3,4)
having grouping_ID(1,2,3,4) <= 10-1;
--■■■表関数を使う方法■■■
create or replace Package Pack10_172 Is
type makeRenbanSet is table of number;
end;
/
create or replace function FmakeRenban(PmaxRenban number)
return Pack10_172.makeRenbanSet PipeLined is
begin
for I in 1..PmaxRenban Loop
pipe row(I);
end loop;
end;
/
create or replace view Renban10 as
select RowNum as Val from table(FmakeRenban(10));
select * from Renban10;
解説