您的位置:首页 > 数据库

22、SQL Server 数据修改之返回修改的数据

2013-06-15 15:33 204 查看

数据修改之返回修改的数据

使用output子句嵌入到insert update delete 语句中,可以访问插入和删除的

虚拟表,以选择要返回的数据。

其中删除虚拟表(Deleted)存储原来的数据、插入虚拟表(Inserted)存储了更新后

或新插入的数据。使用output子句能够选择这些表中的所有列或指定列。

一、返回插入的数据

命令Insert使插入虚拟表Inserted表可用。

如:

insert into bumen(bmname)

output inserted.*

values('新部门')


结果:

id bmname isdelete

11 新部门 0

二、返回更新前和更新后的数据

如:

update bumen set bmname='另外一个新部门'

output deleted.bmname as 原来的名称,inserted.bmname as 新名称

where bmname='新部门'


结果:

原来的名称 新名称

新部门 另外一个新部门

三、返回删除的数据

如:

delete from bumen

output deleted.id as 删除的部门编号,deleted.bmname as 删除的部门名称

where bmname='另外一个新部门'


结果:

删除的部门编号 删除的部门名称

11 另外一个新部门

四、将返回的数据存储到表变量中

基本语法:

output ...

into 表变量

如:

declare @returndatatable table

(

id int default 0,

name varchar(50),

isdelete int

)

insert into bumen(bmname)

output inserted.* into @returndatatable

values('新部门')

select * from @returndatatable


结果:

id name isdelete

14 新部门 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: