對於詢問某種noob問題和感謝閱讀,感到抱歉。將序列添加到SQL Server 2012中的表中
我需要一個關於將SEQUENCE
值添加到列的小小澄清。如果我執行下面的代碼的聲明被執行
CREATE TABLE EXECSQLORG_EMPLOYEE(
EMP_ID INT NOT NULL CONSTRAINT DF_EMP_ID DEFAULT NEXT VALUE FOR SEQ,
EMP_NAME VARCHAR(100),
EMP_GENDER BIT,
EMP_SALARY MONEY,
EMP_SHIFT BIT) GO
還是我先定義一個表並執行Alter
命令,語句被執行
ALTER TABLE EXEC_EMPLOYEE
ADD CONSTRAINT DF_APP_ID DEFAULT NEXT VALUE FOR SEQ FOR APP_ID
到目前爲止好!
一旦如果我嘗試順序添加到列與下面的代碼,我得到錯誤
CREATE TABLE EXECSQLORG_EMPLOYEE (
EMP_ID INT NOT NULL CONSTRAINT DF_EMP_ID DEFAULT NEXT VALUE FOR SEQ,
EMP_NAME VARCHAR(100),
EMP_GENDER BIT,
EMP_SALARY MONEY,
EMP_SHIFT BIT
CONSTRAINT PK_APP_ID PRIMARY KEY (EMP_ID),
CONSTRAINT DF_APP_ID DEFAULT NEXT VALUE FOR SEQ FOR EMP_ID
)
GO
當我執行上面的代碼中,我得到以下錯誤
附近有語法錯誤的「。
我沒有看到你創建'SEQUENCE'對象!它不是一個列屬性 - 它是一個獨立的,獨立的數據庫對象,你需要在使用前創建 - 「CREATE SEQUENCE ......」因爲序列是它自己的對象,所以你不能*添加一個序列到一個表* - 這不是它的工作原理。 –
^ohh酷!得到了答案 「由於序列是它自己的對象,所以不能將序列添加到表中」 – Immu