[英]inserting multiple rows with 1 query
我在使用ms access 2003插入多行和1個查詢時遇到問題。當我像下面的代碼一樣使用INSERT INTO
INSERT INTO Employee values ('1','b','c');
INSERT INTO Employee values ('2','d','e');
問題,ms訪問總是會出現在SQL語句結束后找到的彈出字符 。 那么,有沒有辦法將數據插入表中?
使用Access SQL,您無法組合兩個INSERT
語句。 你可以分別運行它們。 但是如果您需要使用單個語句來執行此操作,則需要使用更復雜的查詢。
INSERT INTO Employee
SELECT '1','b','c'
FROM Dual
UNION ALL
SELECT '2','d','e'
FROM Dual;
Dual
是一個自定義表,設計為始終只包含一行。 您可以使用此Stack Overflow應答中的說明創建自己的Dual
表。
但是,實際上您並不需要用於此目的的自定義表。 您可以使用任何只返回一行的表或查詢,而不是Dual
。
試試這個
INSERT INTO Table ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
INSERT INTO Employee values (('1','b','c'),('2','d','e'));
請參考這里
不幸的是,它看起來MS Access不兼容,只允許單個查詢插入,除非你有一個源表。 如果您可以將其掛鈎到可以執行查詢的工具,那么您可以創建一個循環來運行多個插入
使用此確認工作查詢:
INSERT INTO Product (Code,Name,IsActive,CreatedById,CreatedDate )
SELECT * FROM (
SELECT '10001000' AS Code,'Blackburn sunglasses' AS Name,1 AS IsActive,1 AS CreatedById,'2/20/2015 12:23:00 AM' AS CreatedDate FROM Product
UNION SELECT '10005200' AS Code,'30 panel football' AS Name,1 AS IsActive,1 AS CreatedById,'2/20/2015 12:23:09 AM' AS CreatedDate FROM Product
) ;
insert into animal (animal_id, name, species)
values ( (1,'Foxi Maxi', 'dog'), (2, 'Dodo',' duck') , (3, 'Garfield', 'cat' ) )
使用這個例子
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.