2011-11-03 42 views
6

Tôi đang sử dụng SQL Server 2008 Express Edition.SQL Server 2008 Express Edition - cách tạo một chuỗi

Tôi muốn tạo ra một chuỗi với mã này:

CREATE SEQUENCE Postoffice_seq 
    AS bigint 
    START WITH 1 
    INCREMENT BY 1 
    MINVALUE 0 
    NO MAXVALUE; 

và lỗi là

Msg 343, Level 15, State 1, Line 1
Unknown đối tượng gõ 'SEQUENCE' sử dụng trong câu lệnh CREATE, DROP hoặc ALTER.

Có ai giúp tôi không?

Trân trọng!

Trả lời

9

SQL Server 2008 không biết chuỗi - sẽ được giới thiệu trong SQL Server 2012 (f.k.a. "Denali").

Đối với khá nhiều kết quả tương tự, sử dụng một cột INT IDENTITY thay vì:

CREATE TABLE dbo.YourTable 
    (YourID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, 
    .... 
) 

Các IDENTITY cột được tự động lấp đầy bởi SQL Server tại thời điểm bạn chèn một dòng mới vào bảng. SQL Server đảm bảo rằng nó tăng lên một cách đơn điệu, bắt đầu từ 1, tăng 1 (bạn có thể đặt chúng thành các giá trị khác nhau, nếu cần). Về cơ bản, khi chèn một hàng vào một bảng như vậy, bạn phải không chỉ định cột IDENTITY trong danh sách các cột của bạn để chèn các giá trị vào - SQL Server sẽ tự động thực hiện việc này cho bạn. Quay lại đầu trang

0

đối tượng chuỗi mới với SQL Denali, SQL Server 2012 Dưới đây là một số mã mẫu http://www.kodyaz.com/sql-server-2012/number-of-sequences-in-sql-server-2012-using-sequence-objects.aspx cho chuỗi các đối tượng trong SQL 2012

Bạn có thể tìm thấy một implemantation bảng chuỗi cho SQL Server 2008 ở đây: http://www.kodyaz.com/t-sql/sql-server-instead-of-trigger-with-sequence-table.aspx

+0

tôi nhớ có thể làm điều này trong postgresql ... và yêu nó. Rất vui khi được thêm vào SQL 2012! –

Các vấn đề liên quan