2017-06-05 67 views

回答

2

警告:永远不要(除非你有一个非常具体和有针对性的理由)使用IDENT_CURRENT() - 使用SCOPE_IDENTITY()。 Ident_Current()将返回由ANY Session插入的最后一个Identity值,而不仅仅是你的。

Scope_Identity()将包含您想要的值。

https://docs.microsoft.com/en-us/sql/t-sql/functions/scope-identity-transact-sql

返回插入在相同的范围的标识列的最后一个标识值。范围是一个模块:存储过程,触发器,函数或批处理。因此,如果两个语句处于相同的存储过程,函数或批处理中,它们在相同的范围内。

+0

谢谢,我会照顾这一点,但即使我将其更改为Scope_Identity,我的问题是关于返回值,请帮助我。 – bhupesh

+1

我做了:“Scope_Identity()将包含您想要的值。” –

+0

如果我的回复没有与你合作,那更多的是你的问题。 “如果存储过程返回该表中最后插入的值或0,存储过程将返回Ident_Current?”你最好把你的程序文本给我们,这样我们可以更准确地回答你的情况。事实上,鉴于您提供的信息有限,这几乎是我能给出的最佳答案。 –

相关问题