2016-02-11 60 views
0

我已經寫了下面的代碼,並不斷收到錯誤不正確的語法插入多行成表

它在第10行說,附近的, - 所以這行:

values(1, 'Stolz', 'Ted', 25000, NULL),) 

如果我只嘗試插入第一行數據,它工作正常,這是當我嘗試做多個。我錯過了很簡單的事情嗎?

Drop Table #TPerson 

CREATE TABLE #TPerson 
(
    personid int PRIMARY KEY NOT NULL, 
    lastname varchar(50) NULL, 
    firstname varchar(50) NULL, 
    salary money NULL, 
    managerid int NULL 
); 

Insert Into #TPerson(Personid, lastname, firstname, salary, managerid) 
values (1, 'Stolz', 'Ted', 25000, NULL), 
     (2, 'Boswell', 'Nancy', 23000, 1), 
     (3, 'Hargett', 'Vincent', 22000, 1), 
     (4, 'Weekley', 'Kevin', 22000, 3), 
     (5, 'Metts', 'Geraldine', 22000, 2), 
     (6, 'McBride', 'Jeffrey', 21000, 2), 
     (7, 'Xiong', 'Jay', 20000, 3) 
+3

您正在使用什麼數據庫管理系統?它可能是一些DBMS相關的語法問題。至少你的代碼片段在MS SQL Server中完美工作。 –

+1

您正在使用哪種dbms產品?並不是所有人都支持這種建設。 (根據SQL驗證程序,http://developer.mimer.com/validator/parser200x,使用Core SQL-2003以外的以下功能:F641,「行和表構造函數」。) – jarlh

+1

什麼** VERSION ** SQL Server你運行這個反對?您的服務器的「SELECT @@ VERSION」的輸出是什麼?這個帶有多元組語法的語法是在SQL Server ** 2008中引入的**如果你有一個早期版本,你不能使用這個語法 –

回答

1

你可以寫這樣的事情:

Insert Into #TPerson(Personid,lastname,firstname,salary,managerid) 
select 1,'Stolz','Ted',25000,NULL 
union all select 2,'Boswell','Nancy',23000,1 
union all select 3,'Hargett','Vincent',22000,1 
union all select 4,'Weekley','Kevin',22000,3 
union all select 5,'Metts','Geraldine',22000,2 
union all select 6,'McBride','Jeffrey',21000,2 
union all select 7,'Xiong','Jay',20000,3 
+0

這個作品謝謝:) – Becky