9

2 つのデータベースがあり、1 つは と呼ばれNatalie_playground、もう 1 つは と呼ばれLiveDBます。挿入、更新の練習をしたいので、いくつかのテーブルを から にコピーしたいと思いLiveDBますNatalie_playground

コピーしたいテーブルの名前は次のとおりです。 Customers, Computers, Cellphones, Prices

私がやろうとしたことは、(SSMSを使用して)テーブルを右クリックしても、そこにコピーがありません!

4

7 に答える 7

11

たとえば、A と B の 2 つのデータベースがあるとします。

  • ターゲット テーブルが存在しない場合は、次のスクリプトが作成されます (この方法はお勧めしません)。

    SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N 
    INTO COPY_TABLE_HERE 
    FROM  A.dbo.table_from_A table_A
    
  • ターゲット表が存在する場合:

     INSERT INTO TABLE_TARGET 
     SELECT table_A.FIELD_1, table_A.FIELD_2,......, table_A.FIELD_N 
     FROM  A.dbo.table_from_A table_A
    

注: これを学習して練習する場合は、以前のスクリプトを使用できますが、完全な構造とデータをデータベースから別のデータベースにコピーする場合は、「データベースのバックアップと復元」または「データを含むスクリプト データベースの生成」を使用する必要があります。これを別のデータベースで実行します。

于 2013-07-11T00:27:06.967 に答える
8

データベースを右クリック -> [ Tasks]の下で [ Generate scripts ]を選択し、ウィザードに従ってテーブルを選択し、 [script table data] (または同様のもの)というチェック ボックスをオンにして、それを SQL スクリプトに生成し、他の DB で実行します。

于 2013-07-11T00:28:37.830 に答える
4

SQL Server インポート/エクスポート ウィザードを試すこともできます。ターゲット テーブルがまだ存在しない場合は、ウィザードを実行すると作成されます。

詳細については、MSDN を参照してください http://msdn.microsoft.com/en-us/library/ms141209.aspx

于 2013-07-11T09:24:11.960 に答える
1

他のブログから簡単な方法を見つけました。これが役立つことを願っています。

Select * into DestinationDB.dbo.tableName from SourceDB.dbo.SourceTable  

http://www.codeproject.com/Tips/664327/Copy-Table-Schema-and-Data-From-One-Database-to-An

于 2015-04-02T20:33:03.387 に答える
0

テーブルのスキーマのみをコピーする場合は、前述のクエリの最後に false 条件を追加できます。

元。

SELECT table_A.FIELD_1, ..., table_A.FIELD_N 
INTO LiveDB.custom_table
FROM  Natalie_playground.dbo.custom_table table_A
WHERE 0 > 1
于 2016-05-23T04:31:15.793 に答える
0

これを試して

USE TargetDatabase
GO

INSERT INTO dbo.TargetTable(field1, field2, field3)
SELECT field1, field2, field3
FROM SourceDatabase.dbo.SourceTable
WHERE (some condition)
于 2014-06-10T07:23:15.893 に答える