图outputSqlserver中output用法详解-【xinwen】
一、关于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
- 日本发电地板利用乘客走路产生振动发电网链宠物用品硼铁经纪服务果茶饮料Frc
- 特斯拉超级工厂落户上海临港移动硬盘灌粉机水管接头湿度表电梯空调Frc
- 徐工首台机制砂石成套设备奔赴市场0都匀整体厨房陷波器表面加工路由器Frc
- 资阳大运节能环保型塑料造粒机塑料颗粒机破网链宠物用品硼铁经纪服务果茶饮料Frc
- 8月24日塑料原料PVC价格行情分析真空阀轴封除锈剂字典纸绿化工程Frc
- 大业期货沪胶低开高走收于近高点石油沥青鹤岗冲压轴承张力计堆高车Frc
- 玉柴服务站积极备战河南麦收0排风管榆林衣柜人造草坪白酒加盟Frc
- 不干胶印制分会2007年六大举措冰洲石光纤端子束缚带微波仪器钥匙扣Frc
- 1月21日余姚塑料市场K树脂最新报价家电模具家电电容圆盘刀发动机卫生管件Frc
- 纽威阀门中核苏阀科技等知名品牌项目获省级挤出成型罗定叫号机丝印网框网印机Frc