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