我曾嘗試使用下面的查詢創建SQL Server 2008中的序列創建序列,不能在SQL Server 2008中
CREATE SEQUENCE serial START 100
我得到了下面的語法錯誤,
消息102 ,Level 15,State 1,Line 1
'SEQUENCE'附近語法不正確。
如何在SQL Server 2008中創建序列?
我曾嘗試使用下面的查詢創建SQL Server 2008中的序列創建序列,不能在SQL Server 2008中
CREATE SEQUENCE serial START 100
我得到了下面的語法錯誤,
消息102 ,Level 15,State 1,Line 1
'SEQUENCE'附近語法不正確。
如何在SQL Server 2008中創建序列?
利用IDENTITY
列將完成您的任務。
獲得MSDN上的全部細節:IDENTITY
你不能做到這一點。
SQL Server 2008不具有SEQUENCE
的概念 - 這是a new feature in SQL Server 2012(MSDN documentation here)。
通常情況下,你要爲你的表中的「自動增長」列 - 在這種情況下,使用IDENTITY
列屬性改爲:
CREATE TABLE dbo.YourTable
(TableID INT IDENTITY,
.....
marc_s是如何寫的,SQL Server 2008不具備序列呢。 但是我們可以使用一些技巧來模仿序列行爲。有時我們需要爲某個表生成標識符而不插入任何數據。 或爲不同的表格生成ID。 在這種情況下,我使用這種結構。
創建一個表:
create table IdSequence (id int identity(1,1))
然後我用這個腳本生成編號:
begin tran
insert into IdSequence output inserted.id default values
rollback tran
在我的應用程序,它看起來像:
public Int32 GetNextId()
{
Int32 id = 0;
using (var transaction = Session.BeginTransaction())
{
id = Session.CreateSQLQuery("insert IdSequence output inserted.id default values").UniqueResult<Int32>();
transaction.Rollback();
}
return id;
}