Sql server 2005中output用法解析
16lz
2021-01-22
一、关于output子句
SQL Server 2005中的output子句,可以使你从修改语句(INSERT、UPDATE、DELETE)中将数据返回到表变量中。带结果的 DML 的有用方案包括清除和存档、消息处理应用程序以及其他方案。这一新的 OUTPUT 子句的语法为:
OUTPUT INTO @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 ( ScrapReasonID smallint ,
Name1 varchar ( 50 ),
ModifiedDate datetime )
insert into Production.ScrapReason
output inserted.ScrapReasonID,inserted. [ Name ] ,inserted.ModifiedDate into @mytablevar
values ( ' operator error ' , getdate ());
-- 显示@mytablevar中的数据
select * from @mytablevar
-- 显示Production.ScrapReason表中的数据
select * from Production.ScrapReason
go更多相关文章
- 我用的mysqlcc,我想看别人执行过哪些语句怎么看?
- 一条SQL语句实现添加不重复记录
- 如何利用SQL语句查询数据库中所有表的名称?
- sql语句延时执行或者是指定时间执行
- 减去两个SELECT语句以产生单个结果?
- C#中操作Oracle时的SQL语句参数的用法
- 求助:请大侠帮我把下面的查询语句改写为可以在SQL"作业"中定时执
- 怎样实现用一条sql语句同时插入多行数据?
- 创建56个民族的sql语句
随机推荐