SQL Server数据修改之返回修改的数据
6571 点击·0 回帖
![]() | ![]() | |
![]() | SQL Server数据修改之返回修改的数据
使用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 | |
![]() | ![]() |