yac*_*uah 21 sql t-sql sql-server get
我已经用Google搜索了这个问题一周,没有任何用处,我认为我没有使用正确的单词
我正在使用带有t-sql的SQL Server 2008,我需要在插入新行时优化我的功能.
我有一个第一列的表是整数自动增量类型的关键,其他列只是供参考
当我们进行插入时,SQL Server会自动递增密钥,我必须执行select max来获取值,所以有没有像全局变量那样@@IDENTITY的函数或函数来避免开始结束事务并选择max
Mah*_*mal 37
-- do insert
SELECT SCOPE_IDENTITY();
Run Code Online (Sandbox Code Playgroud)
哪个会给你:
最后一个标识值插入同一范围内的标识列.范围是一个模块:存储过程,触发器,函数或批处理.因此,如果两个语句在同一存储过程,函数或批处理中,则它们在同一范围内.
刚刚运行代码:
INSERT INTO Persons (FirstName) VALUES ('Joe');
SELECT ID AS LastID FROM Persons WHERE ID = @@Identity;
Run Code Online (Sandbox Code Playgroud)
它也有效!