現在、既存のオブジェクトの正確なコピーを作成するストアド プロシージャをコーディングしています。オブジェクトは複数のテーブルを使用します。これらのテーブルのうち 2 つは多対多の関係を使用します。
使用されるスキーマは次のとおりです。
---------------------------------------
tbl_AssociationA
---------------------------------------
ID | ObjectID | Description
---------------------------------------
1 | 12 | 'Some description'
2 | 12 | 'Some text here'
3 | 13 | 'Some words here'
...
---------------------------------------
---------------------------------------
tbl_AssociationB
---------------------------------------
ID | ObjectID | LabelText
---------------------------------------
1 | 12 | 'Foo'
2 | 12 | 'Foo foo'
3 | 13 | 'Some words...'
4 | 13 | 'Some other Foos'
5 | 14 | 'Some foos here'
6 | 12 | 'Some other words'
...
---------------------------------------
-------------------------
tbl_RelationAB
-------------------------
ID_A | ID_B
-------------------------
1 | 1
2 | 1
2 | 2
2 | 6
3 | 4
3 | 3
...
------------------------
Object 12ここで、 ( と呼びましょう) のコピーを作成したいとしましょうObject X。をさらに変更したくないので、tbl_AssociationAとからレコードをコピーしたいと思います。tbl_AssociationBObject XObject 12
tbl_AssociationAしたがって、とで新しいレコードを作成するにはtbl_AssociationB、次のようにします。
INSERT INTO tbl_AssociationA
SELECT @NewId,Description FROM tbl_AssociationA WHERE ObjectID=@NewId;
INSERT INTO tbl_AssociationB
SELECT @NewId,LabelText FROM tbl_AssociationB WHERE ObjectID=@NewId;
tbl_RelationABこれらの新しく作成されたレコードを使用するにはどうすれば挿入できますか。と の列IDは でtbl_AssociationAあるtbl_AssociationBことに注意してくださいIDENTITY。