我不是SQL专家,只知道一些基本的基础知识,但我需要将我的LINQ代码重构为SPROC以获得更好的性能,并且我有这种情况。 我有两个表Threads和Posts。
当我创建Thread时,我还需要创建帖子。它是一对多关系(一个Thread可能有很多帖子)。但是在创建线程时我无法知道ID线程会有什么因为它是自动生成的身份。
我认为云只是先创建线程然后选择最后添加的线程,但我怎么能确定它将是我想要的线程?
答案 0 :(得分:4)
SELECT SCOPE_IDENTITY()
阅读以下文章@@IDENTITY vs SCOPE_IDENTITY() vs IDENT_CURRENT – Retrieve Last Inserted Identity of Record以获取详细说明。
答案 1 :(得分:4)
您可以在第一次INSERT后调用SCOPE_IDENTITY()。它将获得生成的最后一个Identity值。有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms190315.aspx。
答案 2 :(得分:0)
为什么不能使用触发器。在插入触发器中创建线程后,您可以创建一个帖子条目。