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


有些时候我们需要得到刚刚插入数据库中的条目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 行受影响)

本文作者:



相关阅读:
Fedora 8 Linux系统的内核配置注意事项
把Javascript代码放到body结束之上
phpcms将下载地址替换为图片显示
php csv操作类代码
交互设计最重要的是态度:通过交互来引导用户
让select查询结果随机排
MySQL 错误处理例子[译]
把首行和尾行互换的批处理
Ubuntu Linux设置守护进程时出错的解决
特俗的字 特殊符号打法
javascript程序的执行效率问题
Asp.net中的GridView导出遇到的两个问题和解决方法
10个常见的IE bug和解决方法
自动清除电脑垃圾及删除windows默认共享盘符的批处理bat
快速导航

Copyright © 2016 phpStudy |