Sql语句返回自增Id

来源:互联网 发布:音频降噪软件 编辑:程序博客网 时间:2024/04/27 20:48

大家经常把自增Id设为主键,有时自增Id值还有其他用途,所以需要返回,下面介绍返回自增Id的实现方法。

declare @ScoresId int;insert into dbo.ScoreList2 values(2016001,66,66,66)/*把刚插入ScoreList2表时生成的自增Id赋值给@ScoresId*/set @ScoresId = scope_identity(); select @ScoresId as ScoresId 

这里写图片描述

declare @csharp int;declare @sql float;/*在执行查询时把查询结果赋值给变量@csharp和@sql*/select @csharp=CSharp,@sql=SQLServer from dbo.ScoreList2 where ID=2select @csharp as mycsharp,@sql as mysql 

这里写图片描述

不声明变量也可以实现返回自增Id的功能:

insert into Sys_Users values('测试1','123qwerdf',1,1,1);select @@IDENTITY as userId;

这里写图片描述

这里写图片描述

当select @@Identity前面有多个连续的插入语句时,返回的自增Id是距离其最近的insert语句插入数据时所产生的。

insert into Sys_Users values('测试1','123qwerdf',1,1,1);insert into Sys_User_Role values(666,1);select @@IDENTITY as roleId;

这里写图片描述

这里写图片描述

@@identity也可以直接作为字段的值插入到其他表中

insert into Descriptions values(15,'测试描述',GETDATE())insert into UserInfo values(@@IDENTITY,'测试名字',GETDATE(),'男')

执行插入操作之前的截图:
这里写图片描述

执行插入操作之后的截图:
这里写图片描述

1 0
原创粉丝点击