当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server 2005返回刚刚插入的数据条目id值

MSSQL
SQL Server SA权限总结经典技术
ASP数据库编程SQL常用技巧
SQL SERVER数据库开发之存储过程应用
SQL Server 2000的安全配置
MSSQL经典语句
SQL 经典语句
有用的SQL语句(删除重复记录,收缩日志)
Access 数据类型与 MS SQL 数据类型的相应
SQL语句示例
SQL数据类型详解
将Sql Server对象的当前拥有者更改成目标拥有者
MSSQL内外连接(INNER JOIN)语句详解
SQL 外链接操作小结 inner join left join right join
SQL Server中网络备份一例
SQL语句导入导出大全
SQL 新增/修改 表字段列的类型等
系统存储过程,sp_executesql
sql2005开启xp_cmdshell
实例学习SQL的Select命令
删除数据库中重复数据的几个方法

MSSQL 中的 SQL Server 2005返回刚刚插入的数据条目id值


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 72 ::
收藏到网摘: n/a

有些时候我们需要得到刚刚插入数据库中的条目id,用于相关系统的更改,在以前我是使用select+top 1+desc 这种笨方法实现的,在没有并发的时候,还说的过去,但用户一多的话,这种方法就不行了,当然,你也可以考虑加锁的办法,但是对性能损耗太大,无意发现SQL Server 2005 的全新output子句,利用它,我们可以很轻松的得到刚刚插入的id号。

具体示例如下:

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

--创建一个临时表

CREATE TABLE [soloreztest](

[id] [int] IDENTITY(1,1) NOT NULL,

[name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,

) ON [PRIMARY]


Go

--插入数据,并返回刚刚插入的数据id

INSERT

INTO [soloreztest]

([name])

output inserted.id

VALUES

('solorez')

--执行结果:

--id

-------------

--5


(1 行受影响)

--查看所有信息

select * from [soloreztest]

--执行结果:

--id name

------------- --------------------------------------------------

--1 solorez

--2 solorez

--3 solorez

--4 solorez


--5 solorez

--

--(5 行受影响)