1

SQL Server 2008 Management StudioGenerate Scripts...ウィザードを使用して、データベース内のさまざまなテーブルのデータのみのスクリプトを生成しています。

問題は、一連の挿入ステートメントが生成されることですが、if exists ロジックは一切含まれていません。そのため、すでに存在するレコードの主キーの例外を取得しています。

レコードが既に存在するかどうかを確認するように、テーブル内のデータをスクリプト化する方法を知っている人はいますか?

4

2 に答える 2

1

これを行う最も簡単な方法は、新しい主キーに対して一意の値を持つ行のみを選択するビューを作成し、そのビューからデータ スクリプトを生成することです。

ソース テーブルの CREATE TABLE スクリプトと新しい主キーを提示していただければ、そのようなビューを作成する方法をお見せできます。

于 2013-02-21T15:08:43.827 に答える
0

一部のテーブルでは、参照されているようにテーブルにデータを挿入する前にデータが存在する必要があるため、FKエラーがあることを意味していると思います。

スクリプトの生成ウィザードは、挿入スクリプトのセットを提供しますが、シーケンスは行いません。データが親テーブルに入力されると、すべての子テーブルの挿入スクリプトは、親テーブルよりも早くシーケンスされる必要があります。参照されるすべてのテーブルに値があります。

于 2013-02-21T15:37:11.513 に答える