Sql server 当插入的行相互引用时,是否可以同时为自引用表插入多行?
我有一个自引用表,它有一个可空的、唯一的FK列,引用同一表中另一行的PK。这形成了一个链表结构 我的各种交互都正常工作了,包括插入——只需返回,插入的第一项是链表中的最后一项,后面的每个插入都引用前面的行号 然而,我不喜欢为了处理这个问题而必须进行多次插入。在插入的每一行都使用上一行的Sql server 当插入的行相互引用时,是否可以同时为自引用表插入多行?,sql-server,self-referencing-table,Sql Server,Self Referencing Table,我有一个自引用表,它有一个可空的、唯一的FK列,引用同一表中另一行的PK。这形成了一个链表结构 我的各种交互都正常工作了,包括插入——只需返回,插入的第一项是链表中的最后一项,后面的每个插入都引用前面的行号 然而,我不喜欢为了处理这个问题而必须进行多次插入。在插入的每一行都使用上一行的@@IDENTITY的情况下,有没有办法进行多行插入 我想知道这样的事情,但是@@IDENTITY只返回null作为下一个值 INSERT INTO LINKED_LIST (next) SELECT @@IDEN
@@IDENTITY
的情况下,有没有办法进行多行插入
我想知道这样的事情,但是@@IDENTITY
只返回null
作为下一个值
INSERT INTO LINKED_LIST (next)
SELECT @@IDENTITY
UNION ALL
SELECT @@IDENTITY
UNION ALL
SELECT @@IDENTITY
在阅读中,这是有道理的,因为在
INSERT
返回后才设置值,但问题是是否有聪明的方法以另一种方式实现相同的目标?您有什么版本的sql server?2008-2012-2014???这需要为2012
和2014
提供支持。查看新功能@M.Ali如果我正确阅读文档,使用序列号将意味着我无法再控制DB层中的FK约束。我不想把这个责任推到应用层上……也许可以试着用触发器来更新以前的id?