既存のテーブルに主キーを追加したかった。これを行う最善の方法はSELECT INTO
、一時テーブルに a を実行し、テーブルを削除して作成し、次にINSERT INTO
一時テーブルから作成されたテーブルを作成することだと思います。これから発生する可能性のある問題はありますか?
これはベストプラクティスですか?
SET XACT_ABORT ON
--SAVE DATA
SELECT * INTO #TempTable
FROM dbo.OldTable AS tt
-- Drop and Create dbo.OldTable
-- Restore data
INSERT INTO dbo.OldTable (Column1, Column2, Column3)
SELECT
tt.Column1,
tt.Column2,
tt.Column3
FROM #TempTable AS tt
COMMIT TRANSACTION -- roll back in case there are any FK issues
このデータベースは、SQL Server 2008 に実装されています。