文档详情

Sql_server中output用法详解.doc

发布:2017-02-17约2.2万字共9页下载文档
文本预览下载声明
HYPERLINK /yuananyun/archive/2010/12/04/1896276.htmlSql server中output用法解析 一、关于output子句 SQL Server 2005中的output子句,可以使你从修改语句(INSERT、UPDATE、DELETE)中将数据返回到表变量中。带结果的 DML 的有用方案包括清除和存档、消息处理应用程序以及其他方案。这一新的 OUTPUT 子句的语法为: OUTPUTINTO @table_variable 可以通过引用插入的表和删除的表来访问被修改的行的旧/新映像,其方式与访问触发器类似。在 INSERT 语句中,只能访问插入的表。在 DELETE 语句中,只能访问删除的表。在 UPDATE 语句中,可以访问插入的表和删除的表。 二、实例说明 1、将 OUTPUT INTO 用于简单 INSERT 语句 以下示例将行插入 ScrapReason 表,并使用 OUTPUT 子句将语句的结果返回到 @MyTableVar table 变量。由于 ScrapReasonID 列使用 IDENTITY 属性定义,因此未在 INSERT 语句中为该列指定一个值。但请注意,将在列 INSERTED.ScrapReasonID 内的 OUTPUT 子句中返回由数据库引擎 为该列生成的值。 代码use AdventureWorks go --定义一个表格变量 declare @mytablevar table( ScrapReasonIDsmallint, Name1varchar(50), ModifiedDatedatetime) insert into Production.ScrapReason output inserted.ScrapReasonID,inserted.[Name],inserted.ModifiedDateinto @mytablevar values (operator error,getdate()); --显示@mytablevar中的数据 select * from @mytablevar --显示Production.ScrapReason表中的数据 select * from Production.ScrapReason go HYPERLINK javascript:void(0); 以上语句中inserted是一个临时表,当我们往数据表中插入一条数据的时候数据库会创建一个临时表inserted保存插入的记录;当我们删除某条记录的时候,数据库会创建一个临时表deleted保存删除的记录。以上语句把新插入的数据填充到表变量@mytablevar中,然后输出数据,可以看到@mytablevar中的记录和Production.ScrapReason中新插入的数据是一样的。 2、 将 OUTPUT 用于 INSERT…SELECT 语句 以下示例创建 EmployeeSales 表,然后通过使用 SELECT 语句检索源表中的数据将几行插入该表。同时,也计算了列 ProjectedSales 的值并将其插入该表中。OUTPUT 子句将 INSERT 语句的结果返回到执行调用的应用程序。最后的 SELECT 语句验证新 EmployeeSales 表的内容是否与 OUTPUT 子句的结果匹配。 代码use AdventureWorks go if object_id(dbo.EmployeeSales,u)is not null drop table dbo.EmployeeSales go create table dbo.EmployeeSales ( EmployeeIDnvarchar(11)not null, LastNamenvarchar(20)not null, FirstNamenvarchar(20)not null, CurrentSalesmoney not null, ProjectedSalesmoney not null ) go insert into dbo.EmployeeSales output inserted.EmployeeID,inserted.LastName,inserted.FirstName,inserted.CurrentSales,inserted.ProjectedSales SELECT e.EmployeeID, c.LastName, c.FirstName, sp.SalesYTD, sp.SalesYTD* 1.10 FROM HumanResources.EmployeeAS e INNER JOIN Sales.SalesPersonAS sp O
显示全部
相似文档