トップページに戻る    次の豆知識へ    前の豆知識へ

セッションのみで有効なシーケンス


create global temporary table シーケンス用(
seq number primary key)
on commit preserve rows;

--■■■値を進める■■■
merge into シーケンス用 a
using dual b
on (exists(select 1 from シーケンス用))
when matched then
update set a.seq=a.seq+1
when not matched then
insert(a.seq) values(1);

--■■■値をクリア■■■
truncate table シーケンス用;

--■■■値取得■■■
select seq from シーケンス用;

--■■■値取得(1から5で巡回)■■■
select mod(seq,5)+1 from シーケンス用;