msaccess2003を使用して1つのクエリで複数の行を挿入する際に問題が発生しました。INSERT INTO
以下のコードのように使用すると
INSERT INTO Employee values ('1','b','c');
INSERT INTO Employee values ('2','d','e');
問題は、msaccessが常にSQLステートメントの終了後に見つかったポップアップ文字として表示されることです。それで、データをテーブルに挿入する方法はありますか?
msaccess2003を使用して1つのクエリで複数の行を挿入する際に問題が発生しました。INSERT INTO
以下のコードのように使用すると
INSERT INTO Employee values ('1','b','c');
INSERT INTO Employee values ('2','d','e');
問題は、msaccessが常にSQLステートメントの終了後に見つかったポップアップ文字として表示されることです。それで、データをテーブルに挿入する方法はありますか?
INSERT
Access SQLでは、2つのステートメントを組み合わせることはできません。それぞれを個別に実行できます。ただし、1つのステートメントでそれを行う必要がある場合は、より複雑なクエリを使用する必要があります。
INSERT INTO Employee
SELECT '1','b','c'
FROM Dual
UNION ALL
SELECT '2','d','e'
FROM Dual;
Dual
は、常に1行のみを含むように設計されたカスタムテーブルです。このStackOverflowの回答Dual
の手順を使用して、独自のテーブルを作成できます。
ただし、この目的のために実際にはカスタムテーブルは必要ありません。の代わりにDual
、1行のみを返す任意のテーブルまたはクエリを使用できます。
これを試して
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' ) )
この例を使用する