'CREATE TABLE…と同等のものは何ですか? LIKE…" SQL Server

StackOverflow https://stackoverflow.com/questions/616104

  •  03-07-2019
  •  | 
  •  

質問

私はSQL Serverで作業しており(SQL Server noobです)、テーブルを変更しようとしています。 CREATE TABLE LIKE を使用して、キーと制約、およびSQL Serverが元のテーブルを変更するときに必要と思われる他のすべてのリガモロールをドロップしながら、安全にデータを保存しますが、一致するものを見つけることができませんでしたそのコマンドに...

役に立ちましたか?

解決

できること

SELECT * #MyTable_tmpに FROM MyTable

次に、MyTableを変更し、データをコピーします。これまでに見た他のアプローチは、新しいテーブルとなるMytable_Tmp(一時テーブルではない)という新しいテーブルを作成することです。

次に、必要な移行を行ってデータをコピーします。次に、元のテーブルを削除し、Mytableの名前を変更します。

または、データベースを比較して差分スクリプトまたはVSTS DB Edition(開発者に付属)を生成する多くの優れたツールの1つを入手し、プロジェクトファイルからDBへの差分スクリプトを実行できます。

編集

SELECT * INTO #MyTable FROM MyTableを実行すると、SQL Serverは、選択句の各列とデータ型に一致する#MyTableという新しい一時テーブルを作成します。この場合、MyTableと一致するように*を選択しています。これは、デフォルト、制約インデックスなどをコピーしない列のみを作成します。

他のヒント

同じ構造を再作成しますか?

これについてはどうですか

 SELECT *
 into test
 FROM myRealTable
 where 0=1

新しいテーブルにデータは挿入されません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top