当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server 2005的output子句用法

MSSQL
SQL SERVER乐观锁定和悲观锁定使用实例
SQL Server 对文件内容进行全文检索的查询
MSSQL 2005的新功能创建数据库快照
给SQL Server Model数据库增加一些变化
拷贝的SQLServer7数据库的恢复方法
如何紧急恢复SQL Server主数据库
SQL Server 2000在win2003上安装不上的解决办法
MySQL 5.0新特性教程 存储过程:第一讲
Web环境下MSSQL Server中数据的磁带备份与恢复
用SQL 2005的ROW_NUMBER() 实现分页功能
SQL Server 2005的100范例程序及数据库下载
sql server2000导入mdf文件
简单SQL语句小结
了解SQL Server 2005五个有用的动态管理对象
使SQL Server数据支持 XML
Sql Server 2000数据库日志日益庞大的解决方法
怎么导出SQL所有用户表的字段信息
保护 SQLServer 2005 Express Edition Server
如何修改SQLServer 2000身份验证模式和系统管理员
简单介绍:MS-SQL数据库开发常用汇总

MSSQL 中的 SQL Server 2005的output子句用法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 136 ::
收藏到网摘: 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 行受影响)