方法 : テーブル作成クエリを作成する
テーブル作成クエリを使用すると、新しいテーブルに行をコピーできます。これは、処理するデータのサブセットを作成したり、データベース間でテーブルの内容をコピーしたりするのに役立ちます。テーブル作成クエリは複製挿入クエリと似ていますが、新しいテーブルを作成して行をコピーする点で異なります。
[!メモ]
Oracle では、テーブル作成クエリが Create Table As Select コマンドとして実装されています。
テーブル作成クエリを作成するときは、次の項目を指定します。
新しいデータベース テーブル (コピー先テーブル) の名前。
行のコピー元として使用するテーブル (コピー元テーブル)。1 つのテーブルと結合テーブルのどちらからでもコピーできます。
内容をコピーするコピー元テーブルの列。
行を特定の順序でコピーする場合は、並べ替え順序。
コピーする行を定義する検索条件。
集計情報だけをコピーする場合は、[グループ化] オプション。
たとえば、次のクエリでは、新しく作成した uk_customers というテーブルに customers テーブルの情報をコピーします。
SELECT *
INTO uk_customers
FROM customers
WHERE country = 'UK'
テーブル作成クエリを正しく使用するには、次の条件を満たす必要があります。
データベースが SELECT...INTO 構文をサポートしている。
目的のデータベースにテーブルを作成する権限がある。
[!メモ]
お使いのマシンで、Visual Studio ユーザー インターフェイスの一部の要素の名前や場所が、次の手順とは異なる場合があります。これらの要素は、使用している Visual Studio のエディションや独自の設定によって決まります。詳細については、「Visual Studio の設定」を参照してください。
テーブル作成クエリを作成するには
ダイアグラム ペインにコピー元テーブルを追加します。
[クエリ デザイナー] メニューの [クエリ タイプの変更] をポイントし、[テーブルの作成] をクリックします。
[テーブルの作成] ダイアログ ボックスで、コピー先テーブルの名前を入力します。クエリ デザイナーおよびビュー デザイナーでは、名前が既に使用されているかどうかや、テーブルを作成する権限があるかどうかなどの確認はされせん。
ほかのデータベースにコピー先テーブルを作成するには、目的のデータベース名、所有者 (必要な場合)、およびテーブル名を含む完全なテーブル名を指定します。
コピーする列を指定するために、クエリに列を追加します。詳細については、「方法 : クエリに列を追加する」を参照してください。クエリに追加された列だけがコピーされます。すべての行をコピーする場合は、[* (すべての列)] を選択します。
選択した列が、抽出条件ペインの [列] 列に追加されます。
特定の順序で行をコピーする場合は、並べ替え順序を指定します。詳細については、「クエリ結果の並べ替えおよびグループ化」を参照してください。
コピーする行を指定するために、検索条件を入力します。詳細については、「方法 : 検索条件を指定する」を参照してください。
検索条件を指定しない場合は、コピー元テーブルのすべての行がコピー先テーブルにコピーされます。
[!メモ]
検索する列を抽出条件ペインに追加すると、コピーする列の一覧にその列も追加されます。検索に使用する列をコピーしない場合は、テーブルまたはテーブル構造オブジェクトを示す四角形内の列名の横のチェック ボックスをオフにします。
集計情報をコピーする場合は、[グループ化] オプションを指定します。詳細については、「クエリ結果の集計」を参照してください。
テーブル作成クエリを実行すると、結果ペインに結果が表示されません。代わりに、コピーされた行数を示すメッセージが表示されます。