2015-04-22 89 views
0

我想添加一個序列並插入一行到我的表中。插入一行到一個表並添加一個序列

這裏是我的表:

CREATE TABLE AP.dbo.ItemTable 
(
    ItemID int NOT NULL IDENTITY PRIMARY KEY, 
    ItemDesc varchar(50) NOT NULL 
); 

這是我的順序:

CREATE SEQUENCE ItemSEQUENCE AS INT 
START WITH 101 INCREMENT BY 10 
MINVALUE 0 MAXVALUE 100000 
CYCLE CACHE 25; 

我試圖插入表如下:

INSERT INTO ItemTable 
(ItemID, ItemDesc) 
VALUES (NEXT VALUE FOR ItemSequence, '16GB flash drive'), 
NEXT VALUE FOR ItemSequence, '"23" HP Monitor'); 

這是正確的方式創建我的代碼?另外,你會如何在字符串中加入引號?例如,「23」惠普顯示器,我的代碼是否正確?

回答

0

如果是SQL Server 2012中或更高版本,那麼你需要做到以下幾點:

INSERT INTO ItemTable (ItemID, ItemDesc) 
VALUES 
     (NEXT VALUE FOR ItemSequence, '16GB flash drive') 
    ,(NEXT VALUE FOR ItemSequence, '"23" HP Monitor'); 
+0

是的,它是SQL Server 2012 。但是,當我嘗試該代碼時,它給了我一個錯誤,「消息208,級別16,狀態1,行1 無效的對象名稱'ItemTable'。」 –

+0

好,這個查詢應該工作,那麼,你錯過了你的字符串值的單引號,你也需要把一個行的值之間的括號'()' –

+0

執行它在正確的數據庫? –

0

我想出答案:應該是這個

INSERT INTO ItemTable 
(ItemID, ItemDesc) 
    VALUES (NEXT VALUE FOR ItemSEQUENCE, '16GB flash drive') 
INSERT INTO ItemTable 
VALUES (NEXT VALUE FOR ItemSEQUENCE, '"23" HP Monitor'); 
相關問題