2010-12-14 8 views
4

テーブルAとBが同じ構造(IDフィールドを除く)を持つ場合。 Aではオートアサインされていますが、Bではインサートからの値を期待しています。サブ選択で挿入*非動作

INSERT INTO A(select * from B)を行うにはどうしたらいいですか?

ストアドプロシージャで実行できる最も速い、最も柔軟なSQLとは何ですか。

答えて

9

列を明示的に指定します。

INSERT INTO TableA (col1, col2) 
SELECT col1, col2 FROM TableB 
+5

選択*一般的には、生産コードでは使用しないでください。この場合、使用することはできません。 – HLGEM

+0

よろしくお願いいたします。すべての列名を入力するために秘書を雇う必要があります:) –

+0

@HLGEM、私は生産システムでたくさんのselect *を見てきました。私は生産でのその使用を支配する理由は見当たりません。私はDBAではないと考えていますが、*すべてのフィールドを取得しているようですが、なぜこれが実稼働環境でぶつかるのかわかりません。 –