0

我有一个自引用表,它有一个可以为空的唯一 FK 列,该列引用同一表中另一行的 PK。这形成了一个链表结构。

我已经完成了所有各种交互,包括插入 - 只需向后退,插入的第一个项目是链接列表中的最后一个项目,并且每个后续插入都引用之前的行号。

但是,我不喜欢多次插入来处理这个问题。有没有办法进行多行插入,其中插入的每一行都使用@@IDENTITY前一行的?

我想知道这样的事情,但@@IDENTITY只是返回null所有下一个值。

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

阅读MSDN 文档,这是有道理的,因为值在INSERT返回之后才设置,但问题是是否有一些聪明的方法可以以另一种方式实现相同的目标?

4

0 回答 0