私はSQLServer(私はSQL Server noobです)を使用していて、テーブルを変更しようとしています。したい CREATE TABLE LIKE
キーと制約、およびSQL Serverが元のテーブルを変更するときに必要と思われる他のすべてのリガモロールを削除している間、データを安全に保存しますが、そのコマンドに一致するものを見つけることができませんでした...
できるよ
SELECT * INTO #MyTable_tmp FROM MyTable
次に、MyTableを変更し、データをコピーして戻します。私が見た他のアプローチは、Mytable_Tmp(一時テーブルではない)という新しいテーブルを作成することです。これが新しいテーブルになります。
次に、必要な移行を行ってデータをコピーします。次に、元のテーブルを削除し、Mytableで名前を変更します。
または、データベースを比較して差分スクリプトまたはVSTS DB Edition(開発者に付属)を生成する多くの優れたツールの1つを入手し、プロジェクトファイルからDBへの差分スクリプトを実行できます。
SELECT * INTO #MyTable FROM MyTableを実行すると、SQL Serverは、select句の各列とデータ型に一致する#MyTableという新しい一時テーブルを作成します。この場合、MyTableと一致するように*を選択しています。これは、デフォルト、制約インデックスなどをコピーしない列を作成するだけです。
同じ構造を再現したいですか?
これはどう
SELECT *
into test
FROM myRealTable
where 0=1
新しいテーブルにデータは挿入されません