適用対象:SQL Server
結果の挿入クエリを使用すると、テーブル間またはテーブル内で行をコピーできます。 たとえば、 titles
テーブルで結果の挿入クエリを使用すると、特定の出版社のすべての書名に関する情報を別のテーブルにコピーして、その出版社に提供できます。 結果の挿入クエリは、テーブルの作成と似ていますが、既存のテーブルに行をコピーする点が異なります。
ヒント
テーブル間の行のコピーは、カット アンド ペーストを使用して行うこともできます。 これにはまず、各テーブルに対するクエリを作成して実行します。 次に、必要な行を結果グリッドから別の結果グリッドにコピーします。
結果の挿入クエリを作成するときは、次の項目を指定します。
行のコピー先のデータベース テーブル (コピー先テーブル)。
行のコピー元として使用するテーブル (コピー元テーブル)。 コピー元テーブルまたはテーブル群はサブクエリの一部となります。 テーブル内でコピーする場合、コピー元テーブルはコピー先テーブルと同じです。
コピーする内容を含むソース テーブル内の列。
コピーするデータの対象となる宛先テーブルの列。
コピーする行を定義する検索条件。
行を特定の順序でコピーしたい場合は、並べ替え順序を設定してください。
概要情報のみをコピーする場合は、[グループ化] オプションを使用します。
たとえば、次のクエリでは、 titles
テーブルの書名情報を archivetitles
というアーカイブ テーブルにコピーします。 このクエリでは、特定の出版社のすべての書名に関する 4 つの列の内容をコピーします。
INSERT INTO archivetitles (title_id, title, type, pub_id)
SELECT title_id,
title,
type,
pub_id
FROM titles
WHERE (pub_id = '0766');
注
新しい行に値を挿入するには、値挿入クエリを使用します。
行の特定の列の内容をコピーする方法と、行のすべての列の内容をコピーする方法があります。 どちらの場合も、コピーするデータは、コピー先の行の列と互換性がある必要があります。 たとえば、 price
などの列の内容をコピーする場合、コピー先の行の列は小数点以下の桁数の数値データを受け入れる必要があります。 行全体をコピーする場合、コピー先テーブルには、ソース テーブルと同じ物理的な位置にある互換性のある列が必要です。
結果の挿入クエリを作成すると、データのコピーに使用できるオプションが抽出条件ペインに表示されます。 また、データのコピー先となる列を指定できるように、[追加] 列が追加されます。
注意事項
結果の挿入クエリを実行する操作を元に戻すことはできません。 予防措置として、クエリを実行する前にデータをバックアップします。
結果の挿入クエリを作成する
新しいクエリを作成して、行のコピー元となるテーブル (コピー元テーブル) を追加します。 テーブル内の行をコピーする場合は、変換元テーブルをコピー先テーブルとして追加できます。
[クエリ デザイナー] メニューの [種類の変更] をポイントし、[結果の挿入] を選択します。
[結果の挿入先テーブルの選択] ダイアログ ボックスで、行のコピー先のテーブル (コピー先テーブル) を選択します。
注
クエリおよびビュー デザイナーでは、どのテーブルとビューを更新できるかを事前に判断できません。 そのため、[クエリから挿入するテーブルの選択] ダイアログ ボックスの [テーブル名] リストには、クエリを実行するデータ接続で使用できるテーブルとビューがすべて表示されます。行をコピーできない場合もあります。
テーブルまたはテーブル値オブジェクトを示す四角形で、内容をコピーする列の名前を選択します。 行全体をコピーするには、[* (すべての列)を選択します。
クエリおよびビュー デザイナーは、選択した列を抽出条件ペインの 列 列に追加します。
[抽出条件] ペインの [追加 ] 列で、コピーする各列のコピー先テーブルのターゲット列を選択します。 行全体をコピーする場合は、 tablename.* を選択します。 コピー先テーブルの列は、コピー元テーブルの列と同じデータ型か、互換性のあるデータ型である必要があります。
特定の順序で行をコピーする場合は、並べ替え順序を指定します。 詳細については、「 クエリ結果の並べ替えとグループ化 (Visual Database Tools)」を参照してください。
コピーする行を指定するために、 [フィルター] 列に検索条件を入力します。 詳細については、「 検索条件の指定 (Visual Database Tools)」を参照してください。
検索条件を指定しない場合、ソース テーブルのすべての行がコピー先テーブルにコピーされます。
注
抽出条件ペインに検索する列を追加すると、クエリおよびビュー デザイナーによって、コピーする列の一覧にも列が追加されます。 検索に使用する列をコピーしない場合は、テーブルまたはテーブル値オブジェクトを示す四角形内の列名の横のチェック ボックスをオフにします。
概要情報をコピーする場合は、[グループ化] オプションを指定します。 詳細については、「 クエリ結果の集計 (Visual Database Tools)」を参照してください。
結果の挿入クエリを実行すると、結果 ペイン (Visual Database Tools) に結果は報告されません。 代わりに、コピーされた行の数を示すメッセージが表示されます。