1

あるテーブルから別のテーブルにデータを取得する例を知っている、または持っている人はいますか?

SQL SERVER EXPRESSを使用しており、2つのテーブルは実質的に同じで、1つはfronendクライアントによって一時テーブルとして使用されました。したがって、バックエンドクライアントはアイテムを一時テーブルから他のテーブルに移動する必要があります。

順方向のみのカーソルとforループを使用する必要がありますか?

私は接続を開いたと思います、コマンドオブジェクトを使用してデータベースにクエリを実行しますDataSet

forループを繰り返し処理し、次のCOMMANDオブジェクトを使用して挿入レコードを呼び出します。ADO.NET

それを行うためのより良い方法はありませんか?

4

4 に答える 4

2

2つのテーブルの列が同じ場合:

INSERT INTO TABLE_1
SELECT * FROM TABLE_2

すべての列が同じでない場合は、次のように実行できます。

INSERT INTO TABLE_1 (common_column1, common_column2, common_column3)
SELECT common_column1, common_column2, common_column3 FROM TABLE_2

その後、等しくない列を更新できます。または、等しくない列にハードコードされた値を挿入することもできます。

INSERT INTO TABLE_1 (common_column1, common_column2, common_column3, diff_column_1, diff_column_2)
SELECT common_column1, common_column2, common_column3, '1', '2' FROM TABLE_2
于 2012-09-18T12:29:50.233 に答える
1

次のような SQL でのみこれを行うことができます。

SELECT *
INTO theNewTable
FROM FirstTable dept
WHERE 1 = 1;

ストアド プロシージャに入れるか、コマンドとして直接実行します。

注意:INTO、最初のテーブルと同じ構造を持つ新しいテーブルを作成し、最初のテーブルのすべての行をそこにコピーします。行にデータを入力せずにテーブルのみを作成し、それらを新しく作成されたテーブルにコピーする場合は、常に偽の式を使用します。たとえば、「1 = 0」です。

于 2012-09-18T12:26:16.597 に答える
1

使用できます DataTable.Copy

http://msdn.microsoft.com/fr-fr/library/system.data.datatable.copy.aspx

使用することもできますDataTable.ImportRow

リンク: http://msdn.microsoft.com/fr-fr/library/system.data.datatable.importrow.aspx

TSQL :INSERT SELECTストアド プロシージャでクエリを使用することもできます。

于 2012-09-18T12:26:22.467 に答える
0

これを使用してデータを挿入できます

INSERT INTO TABLE (columnname1, columnname2, columnname3,.....)
SELECT columnname1, columnname2, columnname3 FROM TBL
于 2012-09-25T08:40:37.417 に答える