SELECT * INTO 文で、テーブルの作成とデータのコピーを同時に行います。
SQL
SELECT * INTO バックアップ先テーブル名 FROM 元テーブル名
- バックアップ先のテーブルも作成されます。
- 主キー・制約・トリガー・インデックス等は複製されません。
- WHERE 条件を指定すると、条件に一致するデータのみコピーされます。
応用1 データはコピーしない
SELECT * INTO バックアップ先テーブル名 FROM 元テーブル名 WHERE 1=2
- 1=2 の条件は成立しないので、データはコピーされません。
応用2 列を追加してコピー
SELECT *,
'TEST' AS 新しい列名
INTO バックアップ先テーブル名
FROM 元テーブル名
- バックアップ先のテーブルに"新しい列名"が追加されます。この例では、全レコードの新しい列に 'TEST' がセットされます。
検証環境
- Microsoft SQL Server Express Edition (64-bit) プラットフォーム:NT x64 バージョン:11.0.7462.6
- Microsoft Windows 10 Pro Version 1909 OS Build 18363.628