Sql Server2005对t-sql的增强之通用表表达式CTE_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

Sql Server2005对t-sql的增强之通用表表达式CTE

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

本篇关键词:通用增强WHERE可以
黑客防线网安网讯:  CTE是Common Table Expression的简写,翻译成中文就是通用表表达式,它可以在select,insert或者update中使用。   为了说明问题,我们先随便建张表,插入几条数据:  if object_id(...

  CTE是Common Table Expression的简写翻译成中文就是通用表表达式它可以在select,insert或者update中使用

  为了说明问题,我们先随便建张表,插入几条数据:

  if object_id('t','U') is not null --用object_id函数判断表是否在数据库中存在很简洁

drop table t;
GO
create table t(c1 int,c2 decimal,c3 int);
GO
INSERT INTO t
SELECT c1 = 1,c2 = 5.0,c3=10
UNION
SELECT c1 = 2,c2 = 5.5,c3=10
UNION
SELECT c1 = 3,c2 = 5.0,c3=20
UNION
SELECT c1 = 4,c2 = 5.5,c3=20

  --下面我们使用CTE写一个分页的sql语句

GO
WITH t_cn AS
(  
select c1,c2,c3,rn = ROW_NUMBER() OVER(ORDER BY c1 DESC) FROM t WHERE 0 = 0 --可以在此处添加一些条件
)
SELECT c1,c2,c3 FROM t_cn WHERE rn between 2 and 3
SELECT totalCn = COUNT(*) FROM t WHERE 0 = 0

  这就是一个最最简单的示例了,这样写出来的分页是不是很简洁?CTE还可以用在insert和update中用法大同小异,就不一一列举

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-9769-1.html
网站维护教程更新时间:2012-03-21 02:25:31  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer