#title MS-SQL에서 Oracle의 Sequence 따라하기
[[TableOfContents]]

==== 개요 ====
채번이 은근히 골치아픈 주제이긴 하지만.. 어찌보면 또 간단하다. ㅋ

==== 소스 ====
{{{
use tempdb
go

--초기세팅
create table dbo.Sequence(seq int)
insert dbo.Sequence values(1)
go

create proc dbo.usp_Sequence
	@option tinyint --1:currval, 2:nextval, 
,	@increment int = 1
as
declare @seq int;

if @option = 2
begin
	update dbo.Sequence
	set @seq = seq = seq + @increment;
end else
	set @seq = (select top 1 seq from dbo.Sequence);

return @seq;
go

--예제: 현재값
declare @seq int
exec @seq = dbo.usp_Sequence 1
select @seq

--예제: 다음값
declare @seq int
exec @seq = dbo.usp_Sequence 2
select @seq
}}}