-
彼らは異なることをします。
INSERTを使用する テーブルが存在する場合。SELECT INTOを使用します そうでないとき。 -
はい。
INSERTテーブルヒントがない場合、通常はログに記録されます。SELECT INTO適切なトレースフラグが設定されていると仮定して、最小限のログが記録されます。 -
私の経験では、
SELECT INTO#tempなどの中間データセットで最も一般的に使用されます テーブル、またはバックアップのようにテーブル全体をコピーします。INSERT INTO既知の構造を持つ既存のテーブルに挿入するときに使用されます。
編集
あなたの編集に対処するために、彼らは異なることをします。テーブルを作成していて、構造を定義する場合は、CREATE TABLEを使用します。 およびINSERT 。作成される可能性のある問題の例:varcharフィールドを持つ小さなテーブルがあります。テーブル内の最大の文字列は12バイトになりました。実際のデータセットには最大200バイトが必要です。 SELECT INTOを実行する場合 小さなテーブルから新しいテーブルを作成し、後でINSERT フィールドが小さすぎるため、切り捨てエラーで失敗します。