sqlserver中output用法详解

sqlserver中output用法详解

ID:34725953

大小:100.68 KB

页数:8页

时间:2019-03-10

sqlserver中output用法详解_第1页
sqlserver中output用法详解_第2页
sqlserver中output用法详解_第3页
sqlserver中output用法详解_第4页
sqlserver中output用法详解_第5页
资源描述:

《sqlserver中output用法详解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Sqlserver中output用法解析一、关于output子句SQLServer2005中的output子句,可以使你从修改语句(INSERT、UPDATE、DELETE)中将数据返回到表变量中。带结果的DML的有用方案包括清除和存档、消息处理应用程序以及其他方案。这一新的OUTPUT子句的语法为:OUTPUTINTO@table_variable可以通过引用插入的表和删除的表来访问被修改的行的旧/新映像,其方式与访问触发器类似。在INSERT语句中,只能访问插入的表。在DELETE语句中,只能访问删除的表。在UPDATE语句中,可以访问插入的表和删除的表。二、实例说明1、将OUTPUTI

2、NTO用于简单INSERT语句以下示例将行插入ScrapReason表,并使用OUTPUT子句将语句的结果返回到@MyTableVartable变量。由于ScrapReasonID列使用IDENTITY属性定义,因此未在INSERT语句中为该列指定一个值。但请注意,将在列INSERTED.ScrapReasonID内的OUTPUT子句中返回由数据库引擎为该列生成的值。代码useAdventureWorksgo--定义一个表格变量declare@mytablevartable(ScrapReasonIDsmallint,Name1varchar(50),ModifiedDatedatetime

3、)insertintoProduction.ScrapReasonoutputinserted.ScrapReasonID,inserted.[Name],inserted.ModifiedDateinto@mytablevarvalues('operatorerror',getdate());--显示@mytablevar中的数据select*from@mytablevar--显示Production.ScrapReason表中的数据select*fromProduction.ScrapReasongo以上语句中inserted是一个临时表,当我们往数据表中插入一条数据的时候数据库会创建一

4、个临时表inserted保存插入的记录;当我们删除某条记录的时候,数据库会创建一个临时表deleted保存删除的记录。以上语句把新插入的数据填充到表变量@mytablevar中,然后输出数据,可以看到@mytablevar中的记录和Production.ScrapReason中新插入的数据是一样的。2、将OUTPUT用于INSERT…SELECT语句以下示例创建EmployeeSales表,然后通过使用SELECT语句检索源表中的数据将几行插入该表。同时,也计算了列ProjectedSales的值并将其插入该表中。OUTPUT子句将INSERT语句的结果返回到执行调用的应用程序。最后的SEL

5、ECT语句验证新EmployeeSales表的内容是否与OUTPUT子句的结果匹配。代码useAdventureWorksgoifobject_id('dbo.EmployeeSales','u')isnotnulldroptabledbo.EmployeeSalesgocreatetabledbo.EmployeeSales(EmployeeIDnvarchar(11)notnull,LastNamenvarchar(20)notnull,FirstNamenvarchar(20)notnull,CurrentSalesmoneynotnull,ProjectedSalesmoneynot

6、null)goinsertintodbo.EmployeeSalesoutputinserted.EmployeeID,inserted.LastName,inserted.FirstName,inserted.CurrentSales,inserted.ProjectedSalesSELECTe.EmployeeID,c.LastName,c.FirstName,sp.SalesYTD,sp.SalesYTD*1.10FROMHumanResources.EmployeeASeINNERJOINSales.SalesPersonASspONe.EmployeeID=sp.SalesPers

7、onIDINNERJOINPerson.ContactAScONe.ContactID=c.ContactIDWHEREe.EmployeeIDLIKE'2%'ORDERBYc.LastName,c.FirstName;GOSELECTEmployeeID,LastName,FirstName,CurrentSales,ProjectedSalesFROMdbo.EmployeeSales;GO3、将OUTP

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。