sql >> データベース >  >> RDS >> Sqlserver

あるテーブルから別のテーブルにデータをインポートする

    SQL Server 2008 では、SQL Server Mgmt studio で Goo.Goo テーブルをスクリプト化し、T-SQL INSERT を使用してすべてのデータを挿入するスクリプトも作成するように指示できます。 ステートメント。オブジェクト エクスプローラーに移動し、データベースを右クリックして [タスク]> [スクリプトの生成] を選択し、データ挿入ステートメントを生成するテーブルを選択して、ここでこのオプションを必ず使用してください:

    次に、それらを他のサーバーで実行して、テーブルの内容を挿入できます。ただし、この場合、既存の行の挿入を自分で処理する必要があります。

    一方、両方のサーバーが同じネットワーク上にある場合は、「リンク サーバー」機能を使用してソース サーバーをターゲット サーバーにリンクし、SQL Server 2008 MERGE ステートメントを使用してソースからすべてのデータをインポートできます。サーバーのテーブルをターゲット サーバーに挿入します。

    オブジェクト エクスプローラーで、[サーバー オブジェクト]、[リンク サーバー] の順に移動し、右クリックして [新しいリンク サーバーを追加] をクリックし、2 つのサーバー間の接続を確立します。

    サーバーがリンクされると、単純な MERGE ステートメント (SQL Server 2008 の新機能) を使用して、これら 2 つのテーブルのデータをマージできます。

    MERGE 
      INTO Goo.Goo as Target
      USING Foo.Foo.dbo.Foo as Source
      ON Source.ID = Target.ID
    WHEN NOT MATCHED THEN
      INSERT (field1, field2, field3)
      VALUES (source.field1, source.field2, source.field3)  
    WHEN MATCHED THEN
      -- do nothing
    ;
      

    新しい MERGE ステートメントの詳細については、こちらをご覧ください:

    または SQL Server 2008 Books Online で。

    マーク



    1. ビッグデータの3つの主要な特徴を理解する

    2. MySQLの特定の列に値が表示される回数をカウントする

    3. ポルトガル語のMySQL照合

    4. Azure-外部MySQLデータベースに接続しようとしたときにアクセス許可が拒否されました