1

データの転送を可能にし、転送先テーブルで外部キーを自動的に更新するツールまたは方法が必要です。

SET IDENTITY_INSERT ON/OFF は、私が探しているものではありません。

例:

table master (id int identity, name char)
table slave (id int identity, master_id int, name char)

次のようなスクリプトを作成したいと思います。

insert into master(name) values ('master a')
insert into master(name) values ('master b')

insert into slave(master_id,name) values ( ?, 'slave aa')
insert into slave(master_id,name) values ( ?, 'slave bb')
insert into slave(master_id,name) values ( ?, 'slave cc')
insert into slave(master_id,name) values ( ?, 'slave dd')

slavesを挿入するとき、元のテーブルと同じ関係を維持するために、master_id の新しい値を知りたいです。

4

3 に答える 3

4

テーブル内で ID 列を使用している場合、関数 SCOPE_IDENTITY() は最後に挿入されたレコードの ID を返します。これをセカンダリ テーブルの外部キーとして使用できます。

http://msdn.microsoft.com/en-us/library/ms190315.aspx

わかる?

乾杯、ジョン

于 2009-02-11T17:53:55.460 に答える
1

int の代わりに UniqueIdentifier (Guid) を使用する場合、ID 値をあるデータベースから別のデータベースに移動するときに ID 値を変更する必要はありません。

于 2009-02-11T17:54:05.600 に答える