私は[#relationtree]と呼ばれる一時テーブルにその言うことができます、次のように私の親、子キーのセットのリストを与える再帰CTEを持っている:親/子キーテーブルが与えられた場合、構造のコピーを再帰的に別のテーブルに挿入するにはどうすればよいですか?
Parent | Child
--------------
1 | 3
3 | 5
5 | 6
5 | 9
私はこれらのコピーを作成したいですどのように私は上記のレコードを挿入するが、再帰の各コピーのParentIdは列としてその値を挿入できるようにするには、以前に挿入されたID値を取得することができ
CREATE TABLE [dbo].[Relations]
(
[Id] int identity(1,1)
[ParentId] int
)
:とテーブルへの関係は、以下のstuctureを言うことができます私は挿入する子供ですか?
私は[DBO]このの終わりに持つことが期待される。[関係](我々の現在のシード値をされて与えられ、50を言う)
Id | ParentId
-------------
... other rows present before this query ...
50 | NULL
51 | 50
52 | 51
53 | 51
私はSCOPE_IDENTITYがで働くことができることをわかりません新しいIDのリストを含む新しい一時表を作成し、ID列を手動で挿入するのが正しい方法ですか?
私はこれを行うためにカーソル/ループを書くことができましたが、いくつかの再帰的な選択魔法を実行するいい方法が必要です!
申し訳ありませんが、私は二回あなたの質問を経て、しかしmuch..particularlyこれを理解することはできません:出力
部。 "私は上記のレコードを挿入することができますが再帰的に挿入された子の各コピーのParentId列としてその値を挿入できるように以前に挿入されたID値を取得する? 。いくつかのサンプル入力と期待出力のいくつかのサンプルデータを提供することができます – TheGameiswar