OUTPUT 子句

可以在数据进行增删改的时候,可以返回受影响的行。先准备一张表

create table #t
(
id int identity primary key
,name varchar(100)
)
go

1、insert ,影响行在inserted表里

insert into #t(name)
output inserted.*
values('a')

返回结果:

id name
----------- ----------------------------------------------------------------------------------------------------
1 a

批量插入:

insert into #t
output inserted.*
select 'b'

id name
----------- ----------------------------------------------------------------------------------------------------
2 b


2、delete ,影响行在deleted表里

delete from #t
output deleted.id
where id = 1

返回结果:

id
-----------
1


3、update,会将新数据放在inserted表里,老数据放在deleted表里

update #t
set name='new value'
OUTPUT deleted.id,deleted.name,inserted.id,inserted.name
where id=2

id name id name
----------- ---------------------------------------------------------------------------------------------------- ----------- ----------------------------------------------------------------------------------------------------
2 d 2 new value

(1 row(s) affected)


4、OUTPUT INTO 支持将数据 插入到表里

DECLARE @outputTable TABLE(name1 varchar(100),name2 varchar(100))

update #t
set name='new value 3'
OUTPUT deleted.name,inserted.name into @outputTable
where id=2 SELECT * FROM @outputTable

(1 row(s) affected)
name1 name2
---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
new value new value 3

(1 row(s) affected)

https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2005/ms177564(v%3dsql.90)

SQL Server 使用 OUTPUT做数据操作记录的更多相关文章

  1. SQL Server索引碎片整理实际操作记录

    SQL Server 版本是 2008 R2. 查询数据库索引碎片情况的 SQL 语句(来源): SELECT OBJECT_NAME(ind.OBJECT_ID) AS TableName, ind ...

  2. (4.31)sql server中的xml数据操作

    关键词:xml数据转为行列方式显示 常规案例: declare @data xml declare @h int set @data=' <bookstore> <row> & ...

  3. 唐伯猫的 sql server 2008 的安装和操作记录

    在服务器win 2008 server r2 上安装sql 首先下载sql  server 2008  ,云盘有存储sql,很多论坛也有下载SQLEXPRADV_x64_CHS.exe 双击sql s ...

  4. 转:Sql Server中清空所有数据表中的记录

    如果要删除数据表中所有数据只要遍历一下数据库再删除就可以了,清除所有数据我们可以使用搜索出所有表名,构造为一条SQL语句进行清除了,这里我一一给各位同学介绍.   使用sql删除数据库中所有表是不难的 ...

  5. Sql Server中清空所有数据表中的记录

    Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: 代码如下:exec sp_msforeachtable  @Command1 ='truncate table ?'删除所有数据 ...

  6. Sql Server 存储过程中查询数据无法使用 Union(All)

    原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...

  7. 恢复SQL Server被误删除的数据

    恢复SQL Server被误删除的数据 <恢复SQL Server被误删除的数据(再扩展)> 地址:http://www.cnblogs.com/lyhabc/p/4620764.html ...

  8. [转]实战 SQL Server 2008 数据库误删除数据的恢复

    实战 SQL Server 2008 数据库误删除数据的恢复 关键字:SQL Server 2008, recover deleted records 今天有个朋友很着急地打电话给我,他用delete ...

  9. sql Server插不进数据,以及Id自增的教程及注意事项

    参考于:https://jingyan.baidu.com/article/fec4bce244f902f2608d8b7a.html 使用SQL Server 2014 数据库做web的项目出现错误 ...

随机推荐

  1. mysql故障总结

    MYSQL故障排查 https://zhuanlan.zhihu.com/p/27834293

  2. centos 7编译安装mysql 5.7.17

    1.进入MySQL官网下载MySQL源代码 依次点击Downloads -> Community -> MySQL Community Server 源代码1.Select Operati ...

  3. voip通话分析(含语音质量)

    SipAnalysis.exe使用python开发,通过抓取网卡通信包进行质量分析:1) 分析VOIP通话的发起方.挂机方及对应时间点2) 分析通话使用的媒体信息(方向.载荷.切换时间)3) 分析通话 ...

  4. Git学习系列之Git 的缺点有哪些?

    不多说,直接上干货 前面,谈及了 Git学习系列之Git 的优势有哪些? 缺点: (1)资料少(起码中文资料很少). (2)学习周期相对而言比较长. (3)不符合常规思维. (4)代码保密性差,一旦开 ...

  5. Cloudera Manager安装之时间服务器和时间客户端(Ubuntu14.04)(二)

    第二步: Cloudera Manager安装之时间服务器和时间客户端(二) 找一台机器作为时间服务器 我这里,放到ubuntucmbigdata1这台机器! 注意,之前是已经做了集群时间同步了. 在 ...

  6. 关于mouseleave事件触发的bug问题

    在做下拉树搜索功能的时候,下方内容框需要一个鼠标移出时就隐藏的功能,于是使用mouseleave的方法, 但是出现了一个问题就是在点击树展开个隐藏的时候,也触发了leave事件,将下方的树进行隐藏,出 ...

  7. X-Frame-Options配置

    因为最近项目需要接入数据统计,其中一项功能需要开启iframe形式来加载页面,所以就开始研究一下iframe如何配置~~~ X-Frame-Options: 他的值有三个: (1)DENY --- 表 ...

  8. 【读书笔记】读《编写可维护的JavaScript》 - 编程实践(第二部分)

    本书的第二个部分总结了有关编程实践相关的内容,每一个章节都非常不错,捡取了其中5个章节的内容.对大家组织高维护性的代码具有辅导作用. 5个章节如下—— 一.UI层的松耦合 二.避免使用全局变量 三.事 ...

  9. 此请求的URL的长度超过配置的maxUrlLength值

    aps.net 网站的url长度默认限制为260个字符. 修改web.config即可   <system.web> <httpRuntime maxUrlLength=" ...

  10. spring-boot之入门实践

    spring-boot是spring的一种微服务框架,spring-boot的出现是为了解决以往spring项目中xml文件繁琐的配置.具体介绍参考:http://docs.spring.io/spr ...