テーブル間での列のコピー (データベース エンジン)
適用対象: SQL Server 2016 (13.x) 以降 Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
このトピックでは、SQL Server で、SQL Server Management Studio または Transact-SQL を使用して、列の定義のみ、または定義とデータの両方をコピーすることで、あるテーブルから別のテーブルに列をコピーする方法について説明します。
このトピックの内容
作業を開始する準備:
列をコピーする方法:
はじめに
制限事項と制約事項
別名データ型の列をデータベース間でコピーする場合、コピー先のデータベースで同じ別名データ型を使用できない場合があります。 その場合、コピー先データベースで使用できる基本データ型の中で最も近いデータ型がその列に割り当てられます。
セキュリティ
アクセス許可
テーブルに対する ALTER 権限が必要です。
SQL Server Management Studio を使用する
テーブル間で列の定義をコピーするには
コピーする列を含むテーブルおよびコピー先のテーブルを右クリックして [デザイン]をクリックし、それらのテーブルを開きます。
コピーする列を含むテーブルのタブをクリックして、コピーする列を選択します。
[編集] メニューの [コピー]をクリックします。
列をコピーする先のテーブルのタブをクリックします。
コピーした列を挿入する列を選択し、 [編集] メニューの [貼り付け]をクリックします。
テーブル間でデータをコピーするには
前述の列定義のコピーの指示に従います。
注意
テーブル間でデータのコピーを始める前に、コピー先の列のデータ型が、コピー元の列のデータ型と互換性があることを確認してください。
新しいクエリ エディター ウィンドウを開きます。
クエリ エディターを右クリックし、 [エディターでクエリをデザイン]をクリックします。
[テーブルの追加] ダイアログ ボックスで、コピー元テーブルとコピー先テーブルを選択し、 [追加]をクリックして [テーブルの追加] ダイアログ ボックスを閉じます。
クエリ エディターの空いている領域を右クリックし、[変更の種類] をポイントして [結果の挿入] をクリックします。
[結果の挿入先テーブルの選択] ダイアログ ボックスで、コピー先テーブルを選択します。
クエリ デザイナーの上部で、コピー元テーブル内のコピー元列をクリックします。
これで、クエリ デザイナーで INSERT クエリが作成されました。 [OK] をクリックして、クエリを元のクエリ エディター ウィンドウに配置します。
クエリを実行して、コピー元テーブルからコピー先テーブルにデータを挿入します。
Transact-SQL の使用
テーブル間で列の定義をコピーするには
- Transact-SQL ステートメントを使用して、個々の列をあるテーブルから別の既存のテーブルにコピーすることはできません。 ただし、SELECT INTO を使用して、既定のファイル グループに新しいテーブルを作成し、クエリの結果得られた行をそのテーブルに挿入することができます。 詳細については、「INTO 句 (Transact-SQL)」を参照してください。
テーブル間でデータをコピーするには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
USE AdventureWorks2022; GO CREATE TABLE dbo.EmployeeSales ( BusinessEntityID varchar(11) NOT NULL, SalesYTD money NOT NULL ); GO INSERT INTO dbo.EmployeeSales SELECT BusinessEntityID, SalesYTD FROM Sales.SalesPerson; GO
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示