2013-03-26 60 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')