博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Server 2005 T-SQL 中的OUTPUT子句语法
阅读量:6414 次
发布时间:2019-06-23

本文共 798 字,大约阅读时间需要 2 分钟。

OUTPUT子句是SQL Server 2005 中对INSERT、UPDATE和DELETE新增的,今天看见园子里有人提起(),就在这里记录一下它的语法。

 OUTPUT { DELETED 
|
 INSERTED 
|
 from_table_name }. {
*
 
|
 column_name } 
[
,...n
]
         
INTO
 { 
@table_variable
 
|
 output_table }

 

 

参数说明:

DELETED , INSERTED   和触发器里的一样,是系统的虚拟表,他们保存了以更新的原始和修改之后的值。

下面是一个完整的例子:

 创建表:

CREATE
 
TABLE
 product(
productId 
INT
 
IDENTITY
 
PRIMARY
 
KEY
,
Name 
NVARCHAR
(
50
)
)

插入数据:

INSERT
 
INTO
 product(
[
Name
]
)
VALUES
(
'
MP3
'
);

 

测试OUTPUT:

DECLARE
 
@ProductChanges
 
TABLE
 (
 DeletedName 
NVARCHAR
(
50
),
 InsertedName 
NVARCHAR
(
50
)    
)
UPDATE
 product
SET
 Name
=
'
myname
'
OUTPUT DELETED.Name,INSERTED.Name
INTO
 
@ProductChanges
WHERE
 productId
=
1
SELECT
 DeletedName,InsertedName
FROM
 
@ProductChanges
 

 

执行结果:

   DeletedName   InsertedName 

1 MP3         myname 

 

 

 

转载于:https://www.cnblogs.com/DanielChow/archive/2009/12/29/1634836.html

你可能感兴趣的文章
调用上面的@InitBinder 解决客户端上传时间参数转换的问题
查看>>
net.sf.json.JSONException: There is a cycle in the hierarchy异常,解决方法
查看>>
OpenStack centos版安装(二)
查看>>
Tomcat虚拟根目录与虚拟子目录
查看>>
Fragment提交transaction导致state loss异常
查看>>
Java中的ReentrantLock和synchronized两种锁定机制的对比
查看>>
Android自动化测试方向
查看>>
OpenGL ES 2.0绘制方式
查看>>
ubuntu 更新和安全
查看>>
QT中常用数据之间转换
查看>>
向量的内积,长度,正交性
查看>>
我的友情链接
查看>>
app包中的fragment和v4包中的fragment的使用的区别
查看>>
Linux下常用的文件操作技巧汇编:创建、复制、移动与删除
查看>>
我的友情链接
查看>>
NFS服务
查看>>
Http协议与缓存
查看>>
监测超过特定内存阀值进程并结束
查看>>
Linux Centos 查询信息
查看>>
android adb命令
查看>>