2015-04-22 67 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'); 
相关问题