如何在SQL Server 2008中创建序列

pun*_*tha 6 sql-server sequence sql-server-2008

我使用以下代码在SQL Server中创建序列.但它将错误显示为未知对象类型.请给出一个解决方案

这是我的代码:

create sequence seqval start with 100 increment by 1 minvalue 0 maxvalue 0 no cycle  
 no cache;
Run Code Online (Sandbox Code Playgroud)

提前致谢

Gra*_*eme 9

你可以这样做.

--Create a dummy TABLE to generate a SEQUENCE. No actual records will be stored.
CREATE TABLE SequenceTABLE
(
    ID BIGINT IDENTITY  
);
GO

--This procedure is for convenience in retrieving a sequence.
CREATE PROCEDURE dbo.GetSEQUENCE ( @value BIGINT OUTPUT)
AS
    --Act like we are INSERTing a row to increment the IDENTITY
    BEGIN TRANSACTION;
    INSERT SequenceTABLE WITH (TABLOCKX) DEFAULT VALUES;
    ROLLBACK TRANSACTION;
    --Return the latest IDENTITY value.
    SELECT @value = SCOPE_IDENTITY();
GO

--Example execution
DECLARE @value BIGINT;
EXECUTE dbo.GetSEQUENCE @value OUTPUT;
SELECT @value AS [@value];
GO
Run Code Online (Sandbox Code Playgroud)


小智 -3

你确定你要参加2012年吗?我没有遇到任何问题:

CREATE SEQUENCE seqval
START WITH 100
INCREMENT BY 1 
minvalue 100 maxvalue 10000 NO CYCLE
Run Code Online (Sandbox Code Playgroud)

你的 0,0 值对我来说产生了一个语法错误,但这是一个清晰而简单的错误。

The minimum value for sequence object 'seqval' must be less than its maximum value.
Run Code Online (Sandbox Code Playgroud)