无废话-SQL Server 2005新功能(1) - TSQL
SQL Server 2005相对于SQL Server 2000改进很大,有些还是非常实用的。
举几个例子来简单说明 这些例子我引用了Northwind库。
1. TOP 表达式
SQL Server 2000的TOP是个固定值,是不是觉得不爽,现在改进了。
declare @n int
set @n = 10
select TOP(@n) * from Orders
2. 分页
不知各位过去用SQL Server 2000是怎么分页的,大多都用到了临时表。SQL Server 2005一句话就支持分页,性能据说也非常不错。
select * from(
select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders
) a
where row between 20 and 30
3. 排名
select OrderId, Freight, RANK() OVER(order by Freight) as rank from Orders
) a
where rank between 20 and 30
4. try ... catch
SQL Server 2000没有异常,T-SQL必须逐行检查错误代码,对于习惯了try catch程序员,2005是不是更加亲切:
BEGIN TRY
begin tran
insert into Orders(CustomerId) values(-1)
commit tran
print 'commited'
END TRY
BEGIN CATCH
rollback
print 'rolled back'
END CATCH
5. 通用表达式CTE
通过表达式可免除你过去创建临时表的麻烦。
WITH OrderFreight AS(
select OrderId, Freight, ROW_NUMBER() OVER(order by Freight) as row from Orders
)
select OrderId, Freight from OrderFreight where row between 10 and 20
特别,通过表达式还支持递归。
6. 直接发布Web Service
想要把store procedure变成Web Service就用这个吧,.NET, IIS都不需要,通过Windows 2003的HTTP Protocol Stack直接发布WebService,用这个功能需要Windows 2003 sp1
CREATE ENDPOINT Orders_Endpoint
state=started
as http(
path='/sql/orders',
AUTHENTICATION=(INTEGRATED),
ports=(clear)
)
for soap(
WebMethod 'CustOrdersOrders'(
name='Northwind.dbo.CustOrdersOrders'
),
wsdl=default,
database='Northwind',
namespace='http://mysite.org/'
)
Web Service就发布好了,敲入http://localhost/sql/orders?wsdl得到wsdl
转载于:https://www.cnblogs.com/guodapeng/archive/2008/04/06/1139244.html
无废话-SQL Server 2005新功能(1) - TSQL相关推荐
- SQL Server 2016 新功能之综述
冬去春来,发现之前最后一篇写在2012年,又过去了5年了,时间如飞啊.那时候SQL 2012 发布让人兴奋了一把,哪知道时间如刀,刀刀催人老啊,今天SQL 2016都发布了很久了,很快SQL On l ...
- Sql Server 2016新功能之Row-Level Security(值得关注)
Sql Server 2016 有一个新功能叫 Row-Level Security ,大概意思是行版本的安全策略(原来我是个英语渣_(:з」∠)_) 直接上例子.这个功能相当通过对表添加一个函数作为 ...
- mysql桦仔_Microsoft SQL Server 2005技术内幕:T-SQL查询笔记
Microsoft SQL Server 2005技术内幕:T-SQL查询笔记 目录 f f f f f f f f 第二章 物理查询处理 分析,代数化,查询优化 f f f f f. 分析--> ...
- SQL Server 2005新特性之使用with关键字解决递归父子关系
1. 引言 现实项目中经常遇到需要处理递归父子关系的问题,如果把层次关系分开,放在多个表里通过主外键关系联接,最明显的问题就是扩展起来不方便,对于这种情况,一般我们会创建一个使用自连接的表来存放数据. ...
- SQL Server 2012新功能
SQL Server 2012 对微软来说是一个重要产品.微软把自己定位为可用性和大数据领域的领头羊. 1. AlwaysOn -这个功能将数据库的镜像提到了一个新的高度.用户可以针对一组数据库做灾难 ...
- SQL Server 2014新功能 -- 内存中OLTP(In-Memory OLTP)
概述 内存中OLTP(项目"Hekaton")是一个全新的.完全集成到SQL Server的数据库引擎组件. 对OLTP工作负载访问中在内存中的数据进行了优化.内存中OLTP能够帮 ...
- SQL Server 2017 新功能分享
本篇文章是我在MVP直通车分享的关于SQL Server 2017的新功能,现在ppt分享如下,可以点击这里下载. 转载于:https://www.cnblogs.com/CareySon/p/SQL ...
- 【SQL 编程你也行】SQL Server 2012新功能之函数:iif函数
iif(布尔表达式,value1,value2) 也就是说如果表达式成立,那么就返回value1,如果不成立,就返回value2. 1.下面是一个简单的例子,大家一看就明白iif函数的功能. 2.就像 ...
- 【SQL 编程你也行】SQL Server 2012新功能之函数:choose函数
choose(id,value1,value2,value3,...) choose函数可以根据传入的id值,返回值所对应的参数值,比如传入2,那么就返回 value1,value2,value3,. ...
最新文章
- abaqus二次开发python 建立集合,ABAQUS二次开发-Python脚本运行方式
- python面试-python面试问题集锦
- mysql 忘记root密码的解决
- 监控开发之用munin来自定义插件监控redis和mongodb
- Servlet相关(request域转发、重定向、刷新头)(session域)
- linux进程自动启动,linux 嵌入式 自启动 系统自动登录-自动启动程序或脚本
- 老罗Android开发视频教程_基于JavaSE开发(适合Android初学者菜鸟级别的人)
- 中国支付清算发展简史
- cad多段线画圆弧方向_cad怎么把多段线变成弧线
- insert on duplicate key update命令
- 计算机专业英语教程ppt,计算机专业英语教程课件.ppt
- 水果忍者(数学 叉积)
- 逆水寒能不能网页预约服务器,不是说《逆水寒》凉了吗,为什么新服预约不到1小时就满了?...
- 云原生时代,OAM模型加持下的应用交付与管理实践
- Eclipse不能查看Servler源码问题
- Android利用zxing生成二维码,识别二维码,中间填充图片超详细、超简易教程
- 【从零开始】阿里云服务器配置web开发环境及部署本地web项目
- 苹果耳机airpods2需要激活?_苹果耳机三兄弟,谁才是安卓手机的绝配?
- 电压跟随器的作用- -电压跟屁虫有什么作用呢???
- JavaCard开发环境搭建