ACCESSでサブクエリを利用して複数行を一括INSERTする方法は?

Accessではサブクエリを使用して複数行を一括でINSERTすることができます。

 

例えば、以下のようなテーブルがあるとします。

ID  Name  Age
1   John  25
2   Mary  30

 

このテーブルに、以下のように複数行を一括でINSERTすることを考えます。

ID  Name   Age
3   Peter  28
4   Jane   35

 

この場合、以下のようなSQL文を使用することで一括でINSERTすることができます。

INSERT INTO テーブル1 (ID, Name, Age)
SELECT 3, 'Peter', 28 FROM DUAL
UNION ALL
SELECT 4, 'Jane', 35 FROM DUAL

このSQL文では、サブクエリを使用して、複数の行を一括でINSERTしています。UNION ALLを使用することで、複数のSELECT文を結合して、一度に複数の行をINSERTすることができます。

注意点として、AccessではDUALという仮想テーブルは用意されていないため、FROM句で適当なテーブルを指定しています。また、INSERTするテーブルのフィールドと、サブクエリで取得する値の数と順序が一致していることを確認する必要があります。

コメント

タイトルとURLをコピーしました