刨冰机厂家
免费服务热线

Free service

hotline

010-00000000
刨冰机厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

图outputSqlserver中output用法详解-【xinwen】

发布时间:2021-10-12 12:02:03 阅读: 来源:刨冰机厂家

一、关于output子句

SQL Server 2005中的output子句,可以使你从修改语句

2、 将 OUTPUT 用于 INSERT…SELECT 语句

以下示例创建 EmployeeSales 表,然后通过使用 SELECT 语句检索源表中的数据将几行插入该表。同时,也计算了列 ProjectedSales 的值并将其插入该表中。OUTPUT 子句将 INSERT 语句的结果返回到执行调用的应用程序。最后的 SELECT 语句验证新 EmployeeSales 表的内容是否与 OUTPUT 子句的结果匹配。

代码use AdventureWorks

go

if object_id返回到执行调用的应用程序。后面的 SELECT 语句验证对 ShoppingCartItem 表所执行的删除操作的结果。

USE AdventureWorks;

GO

DELETE Sales.ShoppingCartItem

OUTPUT DELETED.* ;

--验证表中所有数据都被删除

SELECT COUNT(*)AS FROM Sales.ShoppingCartItem;

GO

4、 将 OUTPUT INTO 用于 UPDATE

下面的示例将 Employee 表中 VacationHours 列的前 10 行更新 25%。OUTPUT 子句将返回 VacationHours 值,该值在将列 DELETED.VacationHours 中的 UPDATE 语句和列 INSERTED.VacationHours 中的已更新值应用于 @MyTableVar table 变量之前存在。

在它后面的两个 SELECT 语句返回 @MyTableVar 中的值以及 Employee 表中更新操作的结果。请注意,INSERTED.ModifiedDate 列中的结果与 Employee 表中的 ModifiedDate 列不具有相同的值。这是因为对 Employee 表定义了将 ModifiedDate 的值更新为当前日期的 AFTER UPDATE 触发器。但是,从 OUTPUT 中返回的列反映触发器激发之前的数据。 代码USE AdventureWorks;

GO

DECLARE @MyTableVar table(

EmpIDint NOT NULL,

OldVacationHoursint,

NewVacationHoursint,

ModifiedDatedatetime);

UPDATE TOP (10) HumanResources.Employee

SET VacationHours= VacationHours* 1.25

OUTPUT INSERTED.EmployeeID,

DELETED.VacationHours,

INSERTED.VacationHours,

INSERTED.ModifiedDate

INTO @MyTableVar;

--显示@MyTableVar的值

SELECT EmpID, OldVacationHours, NewVacationHours, ModifiedDate

FROM @MyTableVar;

GO

output Sql_server中output用法详解

--显示插入表的值

SELECT TOP (10) EmployeeID, VacationHours, ModifiedDate

中国癌症十大医院排名

nk免疫细胞疗法成功率

北京nk细胞疗法