第一种用法

返回受 INSERT、UPDATE 或 DELETE 语句影响的每行的信息,或者返回基于上述每行的表达式。这些结果可以返回到处理应用程序,

以供在确认消息、存档以及其他类似的应用程序要求中使用。此外,也可以将结果插入表或表变量。

用于:

DELETE

INSERT

UPDATE

语法:

<OUTPUT_CLAUSE> ::=
{
    [ OUTPUT <dml_select_list> INTO { @table_variable | output_table } [ ( column_list ) ] ]
    [ OUTPUT <dml_select_list> ]
}
<dml_select_list> ::=
{ <column_name> | scalar_expression } [ [AS] column_alias_identifier ]
    [ ,...n ]

<column_name> ::=
{ DELETED | INSERTED | from_table_name } . { * | column_name }

--先创建一个表
create table test2(
[no] int ,
n nvarchar(100)
)
--插入测试数据
 insert into test2([no],n)
select 1,'a'
union
select 2,'b'
union
select 3,'c'
go

--插入数据时调用
--把插入数据显示出来
INSERT test2([no],n)
OUTPUT INSERTED.*
VALUES (4, N'd');
GO

select * from test2
go

DECLARE @MyTableVar table(
[no] int ,
n nvarchar(100)
);

--把[no]=1的记录删除,并把删除结果保存到表变量@MyTableVar中
delete from test2
output deleted.*
into @MyTableVar
where [no]=1

select * from @MyTableVar

select * from test2

DECLARE @MyTableVar table(
Newno int ,
Newn nvarchar(100),
Oldno int ,
Oldn nvarchar(100)
);

-- 修改记录,保存修改前后的记录到表变量中
update test2
set n='ccc'
output
    inserted.no,
    inserted.n,
    deleted.no,
    deleted.n
into @MyTableVar
where [no]=3

select * from @MyTableVar

select * from test2

第二种用法

declare @largestMonth nvarchar(10)

declare @strsql nvarchar(1000) 
 Set @strsql = "SELECT  @largestMonth=convert(nvarchar(10),MAX([Time]),120)"
 Set @strsql =@strsql + " FROM tablename"
 
 Set @strsql =@strsql + @filter
 exec sp_executesql @strsql,N'@largestMonth nvarchar(10) output',@largestMonth output

第三种用法

create procedure sp_output  
  @output int output  
 as  
  set @output = 121 
  return 1

declare @out int   
 declare @count int 
 exec @count = sp_output @out output   
 select @count 
select @out

总结 output 用法的更多相关文章

  1. sql server output用法说明

    带有output的insert语句. @@identity只能返回当前会话最后生产的标识列.  如果一次性插入多条语句的话. 需要返回这些自动生产的标识列. 那么outpu就派上用场了. declar ...

  2. SQL语句中的output用法

    private void button2_Click(object sender, RoutedEventArgs e) { using (SqlConnection conn = new SqlCo ...

  3. TSql Output 用法

    第一部分:TSql Output 关键字有两种应用场景 1,作为存储过程的参数类型,从存储过程中返回数据 2,返回受 INSERT.UPDATE.DELETE 或 MERGE 语句影响的各行中的信息, ...

  4. 说一下output子句

    Output子句日常灰常有用,而且用的地方也挺多,但是确好多时候被我们忽视,今天我就也简单扫盲一下这个语句的用法. Output子句 返回受 INSERT.UPDATE.DELETE 或 MERGE ...

  5. SQL Server特殊用法笔记

    1. MERGE用法:关联两表,有则改,无则加 SQL语句: create table #AAA(id int,A int,AA int,AAA int,B int) create table #BB ...

  6. SQL点点滴滴_特殊用法笔记

    声明: 本文为转载,感谢原作者的辛勤付出. 原博客地址为:http://www.cnblogs.com/icyJ/p/SQL_Statement.html 1.MERGE用法:关联两表,有则改,无则加 ...

  7. vue第二单元(webpack的配置-学习webpack的常用配置)

    第二单元(webpack的配置-学习webpack的常用配置) #课程目标 掌握webpack的常用配置 掌握如何根据实际的需求修改webpack的对应配置 了解webpack-dev-server的 ...

  8. httprunner的简介、httprunner做接口测试入门知识,使用httprunner模拟get请求及post请求

    一.httprunner的简介 HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试.性能测试.线上监控.持续集成等多种 ...

  9. Robot Framework中SSHLibrary 学习与总结

    一.安装SSHLibrary 二.关键字 1.与连接相关的 Open Connection Get Connection Get Connections Switch  Connection Clos ...

随机推荐

  1. 通过电脑(计算机)下载google play的应用的方法

    手机上安装GOOGLE PLAY很麻烦,经常不成功.于是采用电脑下载APK的方法. 网上传说的下载chrome的插件,然后获取DEVICE ID的方法,经过试用,一直无法获得DEVICE ID. 经过 ...

  2. dbcp连接池配置参数

    1.<!-- 数据源1 --> 2. <bean id="dataSource" 3. class="org.apache.commons.dbcp.B ...

  3. hdu 1034 (preprocess optimization, property of division to avoid if, decreasing order process) 分类: hdoj 2015-06-16 13:32 39人阅读 评论(0) 收藏

    IMO, version 1 better than version 2, version 2 better than version 3. make some preprocess to make ...

  4. English idioms

    a hot potato : speak of an issue(mostly current) which many people are talking about and which is us ...

  5. Javascript计数器

    <!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content=&q ...

  6. UIView 翻转动画

    [_mapView removeFromSuperview]; [self addSubview:_tableView]; //应将self.view设置为翻转对象 [UIView transitio ...

  7. hdu 2092

    Ps:wa了两次....一次是从加法那边暴力,然而算法错误..应该从乘法那边暴力破解...然而又没算负数..加上负数..直接暴力AC. 代码: #include "stdio.h" ...

  8. GSM Hacking:如何对GSM/GPRS网络测试进行测试

    写在前面 这里需要介绍的是GSM / GPRS网络测试的一些方法,随着现在硬件设备连网现象的普遍存在,例如智能电表.自动变速箱控制单元(TCU).POS机.报警系统等.这些设备通常需要与网络连接,GS ...

  9. GPRS Sniffing Tutorial

    - Download sources into ~/gprs_sniffer git clone git://git.osmocom.org/osmocom-bb.git git clone git: ...

  10. ios开发之触碰动画效果

    步骤:1.使用singe view application创建新的项目 2.在viewcontroller.h文件中定义两张图片的实例对象,创建一个UIDynamicAnimator实例对象,添加一个 ...