0

同じテーブル内の別の行の PK を参照する、NULL 可能で一意の FK 列を持つ自己参照テーブルがあります。これにより、リンクされたリスト構造が形成されます。

挿入を含むさまざまな対話がすべて機能しています。挿入された最初のアイテムがリンクされたリストの最後のアイテムであり、その後の各挿入が前の行番号を参照するように戻ります。

ただし、これを処理するために複数の挿入を行う必要があるのは好きではありません。挿入される各行が前の行の を使用する複数行の挿入を行う方法はあります@@IDENTITYか?

私はこのようなことについて疑問に思いましたが、次のすべての値を@@IDENTITY返します。null

INSERT INTO LINKED_LIST (next)
SELECT @@IDENTITY
UNION ALL
SELECT @@IDENTITY
UNION ALL
SELECT @@IDENTITY

MSDN のドキュメントを読むと、返されるまで値が設定されないため、これが機能しないことは理にかなっていINSERTますが、問題は、別の方法で同じ目標を達成するための巧妙な方法があるかどうかです。

4

0 に答える 0