SQL2005支持的两条新语法

1. OUTPUT ... INTO

用于将一条记录从表一移动到表二时非常好用,常见于备份记录的应用

例一:

DELETE [TableUseing] 
OUTPUT Deleted.* 
INTO [TableBak]

例二:(用于移动时修改某字段的值)

DELETE [TableUseing] 
OUTPUT Deleted.Field1, Deleted.Field2, GETDATE() 
INTO [TableBak]

2.表变量

用于存储临时的查询结果

DECLARE @tmp TABLE (ID INT, CITY NVARCHAR(50))
INSERT INTO @tmp 
SELECT MIN(ID), CITY  
FROM [TableTest] WITH(NOCLOCK) 
GROUP BY CITY
posted @ 2007-11-22 14:01 Clark Zheng 阅读(730) 评论(8)  编辑 收藏 所属分类: C. DB

  回复  引用  查看    
#1楼 2007-11-23 18:28 | Chris Liu      
学习一下,还真没用过这种语句。
  回复  引用  查看    
#2楼 2007-11-25 23:27 | 深蓝      
表变量是2005才支持的啊?我一直以为SQL2000就有啦
  回复  引用  查看    
#3楼 2007-11-26 16:55 | 哈~念      
2000jiu you le biao bian liang
  回复  引用  查看    
#4楼 2007-11-27 11:10 | winnerzone      
看后才知道有这个功能.好用.非常好用.不过现在用Linq不知道对应的是怎么写的?
  回复  引用  查看    
#5楼 2007-11-28 12:10 | Ankrmi Wong      
学习了,output ... into 简单也很实用
  回复  引用  查看    
#6楼 2007-12-27 16:12 | PerfectDesign      
msdn 上参看output子句,非常多的用法
  回复  引用    
#7楼 2008-04-11 16:27 | yczyk [未注册用户]
表变量在SQL2000就支持了!
  回复  引用  查看    
#8楼 2008-04-22 10:30 | andy.wu      
哎, 程序要想做到数据库Independ, 可真要有好大的毅力啊.