34,838
社区成员




SELECT * FROM dbo.A
/********************************************************************
NAME GRADE
------------------------------ -----------
张三 10
李四 11
王五 12
********************************************************************/
CREATE TABLE A_backup
(NAME VARCHAR(30),
Grade INT,
modifydate DATETIME
)
UPDATE A SET GRADE=11
OUTPUT INSERTED.*,GETDATE() AS modifydate INTO A_backup
--SELECT * FROM A_backup
/********************************************************************
NAME Grade modifydate
------------------------------ ----------- -----------------------
张三 11 2010-05-10 12:22:48.973
李四 11 2010-05-10 12:22:48.973
王五 11 2010-05-10 12:22:48.973
********************************************************************/
UPDATE A SET GRADE=12
OUTPUT INSERTED.*,GETDATE() AS modifydate INTO A_backup
--SELECT * FROM A_backup
/********************************************************************
NAME Grade modifydate
------------------------------ ----------- -----------------------
张三 11 2010-05-10 12:22:48.973
李四 11 2010-05-10 12:22:48.973
王五 11 2010-05-10 12:22:48.973
张三 12 2010-05-10 12:24:33.567
李四 12 2010-05-10 12:24:33.567
王五 12 2010-05-10 12:24:33.567
********************************************************************/
--> 测试数据:[ta]
if object_id('[ta]') is not null drop table [ta]
go
create table [ta]([id] int)
insert [ta]
select 1 union all
select 2 union all
select 3
--------------------------------查询开始------------------------------
delete from ta output deleted.* into [tb] where id=3
update ta set id=id+3 output deleted.* into [tb] where id=2
select * from [tb]
/*
id
-----------
3
2
(2 行受影响)
*/
--SQL 2005
UPDATE TB SET COL=COL+2
OUTPUT INSERTED.* INTO TB2