_insert_id深入探索MSSQL中last_insert_id的用法(mssql last)

SQL中的last_insert_id(以下简称LID)是一个比较简单的函数,但却非常有用。它可以用于查找使用AUTO_INCREMENT键(或其他类似的功能)生成的最新插入ID的值。它广泛应用于MSSQL(My SQL Server)中的存储过程,也有不少开发者发现它在其他数据库中也能够使用。

在MSSQL中,last_insert_id函数具有以下格式:

LAST_INSERT_ID(tablename)

tablename参数表示要查询最新插入ID的表名。如果表名不正确,则函数将返回NULL值。

几乎所有的插入操作都会返回最新插入ID,但是在某些情况下,你可能想要在函数调用前就获得最新插入ID的值。这时可以使用LID函数。

下面是一个例子:

–建表create table friends(

id tinyint identity primary key,

name varchar(25)

);

–插入数据

insert into friends (name)

values

(‘Harry’), (‘David’), (‘Jon’);

–查询last_insert_id

select last_insert_id(id) as ‘Last Inserted ID’ from friends;

结果:

Last Inserted ID

3

以上结果表明,LID函数已经正确返回了最新插入ID的值。

此外,还有一些简单的步骤可以用来获取最新插入ID的值:

1. 将值放入@LastID变量,并使用scope_identity()将其更新;

set @LastID = scope_identity();

2. 使用isnull函数来判断@LastID的值是否为空,如果是,则使用LID函数获取最新插入ID的值:

set @LastID = isnull (@LastID, last_insert_id());

3. 使用select语句来显示最新插入ID的值:

select @LastID as ‘Last Inserted ID’;

了解了LID函数的用法之后,你就可以灵活使用它来查找使用AUTO_INCREMENT键生成的最新插入ID的值,这将为你的开发过程提供便利。


数据运维技术 » _insert_id深入探索MSSQL中last_insert_id的用法(mssql last)