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