SQL Server 2005 T SQL 中的OUTPUT子句语法
OUTPUT子句是SQL Server 2005 中对INSERT、UPDATE和DELETE新增的,今天看见园子里有人提起(SQL2005中返回修改后的数据),就在这里记录一下它的语法。
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
相关文档:
----------------------------------------------------------------------
1、SQL数据库恢复模型
----------------------------------------------------------------------
1)完全恢复模型
-----------------
(1)备份时要备份数据库的数据文件和日志文件
(2)还原时使用数据库的备份的数据文件副本和全部日志信 ......
操
作系统的支持
版
本和发行版
实
例、数据库和表空间
实
例名和SID
系
统数据库和系统表空间
本译文采用知识共享署
名-非商业性使用-相同方式共享 3.0 Unported许可协议
发布,转载请保留此信息
译者:马齿苋 | 链接:http://www.dbabeta.com/2010/oracle-sql-server-comparison-i.html
作者:S ......
函数如下
CREATE FUNCTION StockBalance_AmountIn(@SortID int)
RETURNS numeric(18,4)
AS
BEGIN
Declare @dblReturn numeric(18,4)
Select @dblReturn = SUM(AmountCurrentMonthIn) from AT_Materiel_StockBalance Where SortID = @SortID
Return (@dblReturn)
END
......
SQL code
/*----------------------------------------------------------------
-- Author :feixianxxx(poofly)
-- Date :2010-04-20 20:10:41
-- Version:
-- Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Co ......
在SQL SERVER 2005中必须用专用管理连接才可以查看过程过程中用到的表
EG:sqlcmd -A
1>use test
2>go
1>sp_decrypt 'p_testa'
2>go
Text
----------------------
Create procedure P_testa
with encryption
as
select * from test
create PROCEDURE [dbo].[sp_decrypt]
(@procedure s ......