MS SQL Server 2005 で、置き換えたいテーブルがあります。他の多くのテーブルには、このテーブルへの外部キー参照があります。これらすべての参照を古いテーブルから新しいテーブルに単純にロールオーバーするために実行できるスクリプトはありますか?
それとも、これらの各外部キーを具体的に削除して、それぞれに新しいキーを作成する必要がありますか?
MS SQL Server 2005 で、置き換えたいテーブルがあります。他の多くのテーブルには、このテーブルへの外部キー参照があります。これらすべての参照を古いテーブルから新しいテーブルに単純にロールオーバーするために実行できるスクリプトはありますか?
それとも、これらの各外部キーを具体的に削除して、それぞれに新しいキーを作成する必要がありますか?
新しいテーブル用にそれらを削除して再作成する方が安全です。
または、置き換える古いテーブルにあったものと同じ主キーを新しいテーブルに再利用できますか? その後、FK を更新する必要はまったくありません。
主キーが「Identity」列を自動インクリメントしている場合は、「Set Identity_Insert On」を使用して、明示的な値 (古いテーブルの pk) を使用して新しいテーブルの ID 列に新しいレコードを挿入できます。完了したら、Set Identity_Insert Off を実行し、オフにして実行します。