私はツリー(BOM)を構築して、データを変換しています。次の表を考えてみます。T-SQL:ID列を持つCTE
with BOM as
(
select @@identity as BomId, null as ParentId <some other fields> from MyTable
union all
select @@identity as BomId,
parent.BomId as ParentId,
some other fields
from MyTable2
inner join BOM parent on blabla)
insert into MyTable3
select * from BOM
問題は次のとおりです:今、私はそれを埋めるためにCTEを使用してい
BillOfMaterials
- BomId
- ParentIdは
@@アイデンティティは、私に、ユニオンの前に挿入された最後のレコードのアイデンティティーだけを与えます。
アイデンティティを取得するにはどうすればよいですか?テーブル3は変更できますが、テーブル1やテーブル2は変更できません
row_number()
は再帰的クエリの動作が未定義であるため、ここでは使用できません。
私はGUIDを使用できることを知っています、それは唯一のオプションですか?
よく遊んだ、ありがとう! :) – Bas