SQL Server 2005新功能-TSQL
sql server 2005相对于sql server 2000改进很大,有些还是非常实用的。举几个例子来简单说明 这些例子我引用了northwind库。
1. top 表达式
sql server 2000的top是个固定值,是不是觉得不爽,现在改进了。
--前n名的订单
declare @n int
set @n = 10
select top(@n) * from orders
2. 分页
不知各位过去用sql server 2000是怎么分页的,大多都用到了临时表。sql server 2005一句话就支持分页,性能据说也非常不错。
--按freight从小到大排序,求20到30行的结果
select * from(
select orderid, freight, row_number() over(order by freight) as row from orders
) a
where row between 20 and 30
3. 排名
select * from(
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是不是更加亲切:
set xact_abort on -- 打开 try功能
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
通过表达式可免除你过去创建临时表的麻烦。
www.knowsky.com
--例子:结合通用表达式进行分页
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
--dataset custordersorders(string customerid)
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
- · 在SQL Server 2005中编辑SQL Server 2000 DTS
- · .NET 连接到 Oracle的oci.dll加载错误解决方案
- · 如何在调用线程的时候传递参数
- · 专家预言:PHP将比Java更好更受欢迎
- · 在IIS6.0下ASP .NET 的版本冲突问题
- · 解决SqlTransaction用尽的问题(SQL处理超时)
- · 以前编写Like谓词被忽略的使用方法
- · 在编写存储过程时使用 Set NoCount On
- · ASP.NET 2.0运行时简要分析
- · .Net中如何操作IIS(原理篇)
- · 用.net开发不同操作系统下应用的winform的size大小问题
- · SQL Server数据库文件恢复技术
- · SQL SERVER中一些常见性能问题的总结
- · .NET下对二进制文件进行加密解密(C#)
- · 利用.NET的File控件上传文件的最终解决方案(个人版)
- · 如何把图片、声音等存储到sql中
- · MS-SQL server数据库开发精典技巧
- · 全文索引—CONTAINS语法
- · 获得所有表信息的SQL语句
- · .NET扫描远程计算机注册表
- · 利用JS获取IE客户端IP及MAC的实现
- · 简单而又复杂的ASP.NET编程模型
- · C#2.0终于有了?:便捷判断的单分支版
- · SQL Server 2005 Data Mining简介
- · ASP.NET控件开发之
- · ASP.NET中用哪种方式表格化数据
- · .NET平台下几种SOCKET模型的简要性能供参考
- · 使用 XML 模板 (MSSQL手册)
- · 使用带批注的 XDR 架构创建 XML 视图
- · 在XPath查询中指定轴(转自MSSQL手册)
- · JavaScript极速狂飙:CSS样式表的背景渲染效率
- · javascript应用:实现复选框全选/全不选切换
- · JavaScript极速狂飙:大容量字符型数组的快速检索
- · JavaScript极速狂飙:组合拼接字符串的效率
- · 图片自动缩小的js代码,用以防止图片撑破页面
- · PHP漏洞中的战争
- · automation服务器不能创建对象
- · Oracle数据库的备份及恢复策略研究
- · PHP程序加速探索之脚本执行速度测试
- · PHP中路径问题的解决方案
- · 学以致用 驳“ASP低能论”
- · 另类扩展名同样执行ASP
- · 语言决不是语法的不同之.NET 版本计算表达式的值
- · ASP中实现的类似URLEncode的编码函数及对应解码函数
- · 数据对象扩展成默认组件 PHP开发小组发布PHP5.1.0
- · ASP.NET 揭秘 ASP.NET页面的结构
- · 关于Sql server数据库日志满的快速解决办法
- · PHP+MySQL分页显示示例分析
- · ORACLE SQL性能优化系列(九)
- · ORACLE SQL性能优化系列(七)
- · ORACLE SQL性能优化系列(八)
- · JSP渐进学习教程4
- · ORACLE SQL性能优化系列(三)
- · ORACLE SQL性能优化系列(二)
- · ORACLE SQL性能优化系列(四)
- · ORACLE SQL性能优化系列(五)
- · ORACLE SQL性能优化系列(六)
- · ORACLE SQL性能优化系列(一)
- · JSP渐进学习教程7
- · JSP渐进学习教程6

