2013-03-26 62 views
0

我尝试将7种不同类型的啤酒插入到我创建的使用T-SQL称为啤酒的表中。我不断收到在我的价值观错误但与消息:使用T-SQL将啤酒插入啤酒表时出错

Server: Msg 156, Level 15, State 1, Line 6 
Incorrect syntax near the keyword 'VALUES'. 
Incorrect syntax near the keyword 'VALUES'. 
Incorrect syntax near the keyword 'VALUES'. 
Incorrect syntax near the keyword 'VALUES'. 
Incorrect syntax near the keyword 'VALUES'. 
Incorrect syntax near the keyword 'VALUES'. 
Incorrect syntax near the keyword 'VALUES'. 

有我丢失的东西:在执行查询发生

下面的错误?我无法弄清楚错误是什么。

这里是我的SQL

--add啤酒到数据库

SET IDENTITY_INSERT [dbo].[Beers] ON 

IF NOT EXISTS (SELECT [BeerId] FROM [dbo].[Beers] WHERE [BeerId] = 1) 
INSERT INTO [dbo].[Beers] ([BeerId], [BeerName], [BeerPricePerBottle], [BeerType], [BeerRating], [Enabled], [DateInserted],[DateLastActivity], 
VALUES (1, 'Black_Butte', '$9.00', 'porter', NULL, 1, '20071111', '20071111') 

IF NOT EXISTS (SELECT [BeerId] FROM [dbo].[Beers] WHERE [BeerId] = 2) 
INSERT INTO [dbo].[Beers] ([BeerId], [BeerName], [BeerPricePerBottle], [BeerType], [BeerRating], [Enabled], [DateInserted],[DateLastActivity], 
VALUES (2, 'Corona', '$5.00', 'lager', NULL, 1, '20071111', '20071111') 

IF NOT EXISTS (SELECT [BeerId] FROM [dbo].[Beers] WHERE [BeerId] = 3) 
INSERT INTO [dbo].[Beers] ([BeerId], [BeerName], [BeerPricePerBottle], [BeerType], [BeerRating], [Enabled], [DateInserted],[DateLastActivity], 
VALUES (3, 'Duvel', '$12.00', 'pale ale', NULL, 1, '20071111', '20071111') 

IF NOT EXISTS (SELECT [BeerId] FROM [dbo].[Beers] WHERE [BeerId] = 4) 
INSERT INTO [dbo].[Beers] ([BeerId], [BeerName], [BeerPricePerBottle], [BeerType], [BeerRating], [Enabled], [DateInserted],[DateLastActivity], 
VALUES (4, 'Guinness', '$7.00', 'stout', NULL, 1, '20071111', '20071111') 

IF NOT EXISTS (SELECT [BeerId] FROM [dbo].[Beers] WHERE [BeerId] = 5) 
INSERT INTO [dbo].[Beers] ([BeerId], [BeerName], [BeerPricePerBottle], [BeerType], [BeerRating], [Enabled], [DateInserted],[DateLastActivity], 
VALUES (5, 'Heineken', '$6.00', 'lager', NULL, 1, '20071111', '20071111') 

IF NOT EXISTS (SELECT [BeerId] FROM [dbo].[Beers] WHERE [BeerId] = 6) 
INSERT INTO [dbo].[Beers] ([BeerId], [BeerName], [BeerPricePerBottle], [BeerType], [BeerRating], [Enabled], [DateInserted],[DateLastActivity], 
VALUES (6, 'Pilsner_Urquell', '$6.50', 'pilsner', NULL, 1, '20071111', '20071111') 

IF NOT EXISTS (SELECT [BeerId] FROM [dbo].[Beers] WHERE [BeerId] = 7) 
INSERT INTO [dbo].[Beers] ([BeerId], [BeerName], [BeerPricePerBottle], [BeerType], [BeerRating], [Enabled], [DateInserted],[DateLastActivity], 
VALUES (7, 'Stone', '$10.00', 'IPA', NULL, 1, '20071111', '20071111') 


SET IDENTITY_INSERT [dbo].[Beers] OFF 

回答

0

你缺少值之前的右括号:

INSERT INTO [dbo].[Beers] ([BeerId], [BeerName], [BeerPricePerBottle], [BeerType], [BeerRating], [Enabled], [DateInserted],[DateLastActivity]) VALUES 
+0

你是绝对正确的。谢谢你!在长时间的工作之后,有助于让第二组眼睛看待某些事物。我会将其标记为已回答。再次感谢! – user1690599 2013-03-26 10:10:47

+0

不客气 – 2013-03-26 10:12:23

0

你缺少闭架和增加了额外的每个INSERT声明结尾的逗号...

变化如下图所示,它会工作,

FROM

,[DateLastActivity], 
VALUES (1, 'Black_Butte', '$9.00', 'porter', NULL, 1, '20071111', '20071111') 

TO

,[DateLastActivity]) 
VALUES (1, 'Black_Butte', '$9.00', 'porter', NULL, 1, '20071111', '20071111') 
0

试试这个:

IF NOT EXISTS(SELECT [BeerId] FROM [ dbo] [啤酒] WHERE [BeerId] = 1) INSERT INTO([dbo]。[啤酒]([BeerId],[啤酒名称],[BeerPricePerBottle],[BeerType],[BeerRating],[Enabled],[DateInserted],[DateLastActivity]) VALUES(1,'Black_Butte','$ 9.00','porter',NULL,1,'20071111 ','20071111')