我已经在这个问题上讨厌了一个星期,没有什么有用的东西,我觉得没有使用正确的词
我正在使用sql Server 2008与t-sql,我的需要是优化我的功能,当我插入一个新的行.
我有一个表与第一列是整数自动增量类型的关键,其他列只是为了信息
当我们做一个插入,sql Server会自动增加密钥,我必须做一个select max来获取值,所以有一种像@@ IDENTITY这样的全局变量或避免开始结束事务的函数,并选择max
解决方法
使用
SCOPE_IDENTITY
:
-- do insert SELECT SCOPE_IDENTITY();
哪个会给你:
The last identity value inserted into an identity column in the same scope. A scope is a module: a stored procedure,trigger,function,or batch. Therefore,two statements are in the same scope if they are in the same stored procedure,or batch.