您的位置:首页 > 数据库 > Oracle

(Reprint)Simulating the sequence of Oracle in Sql Server by leveraging the identity

2009-07-22 15:41 489 查看
Create proc sp_CreateSequence
(@sequenceName varchar(40),
@startVal int =1,
@increment int =1)
AS
BEGIN
declare @sqlStmt varchar(100)
set nocount on
set @sqlStmt = 'Create Table ' + @sequenceName +
' ( sqVal int IDENTITY (' + convert (varchar(10),@startVal) +
',' + convert (varchar(10),@increment) + '))'
exec (@sqlStmt)
set nocount off
end
go
------------------------------------

Create function dbo.CurrVal (@sequenceName varchar(40))
returns int
as
begin
return (IDENT_CURRENT(@sequenceName))
end
go
-------------------------------------

Create proc NextVal (@sequenceName varchar(40) ,@nextVal int output)
as
begin
declare @sqlStmt varchar(100)
set nocount on
set @sqlStmt = 'insert ' + @sequenceName + ' DEFAULT VALUES '
exec (@sqlStmt)
SET @nextVal=IDENT_CURRENT(@sequenceName)
set nocount off
end
go
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐