DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 991|回复: 0
打印 上一主题 下一主题

[待整理] 体验SQL Server2005中T-SQL特性

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-13 15:06:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
错误处理一直是T-SQL开发的一个棘手部分。你曾经需要在基于逐个场景的基础上运行每一个语句和处理他们之后手动检查错误。事务管理也很烦琐,因为你得指出你的事务的状态,并恰当的回滚或提交。在SQL Server2005中,微软通过增加Try...Catch块到T-SQL中,提供了一个更新、更强大的错误处理能力。  异常处理很简单;在执行你的代码过程中有意外发生时,例如一个异常,你需要有一个例行方式去处理这个异常。要怎么处理这个异常是由作为开发者的你来决定的。为了增加一个异常处理到你的T-SQL代码中,采用Try…Catch块。
  如果你最近用过Visual Studio,你很可能熟悉Try…Catch块的概念。在T-SQL中的执行和它很相似,但是在T-SQL 中,它实际上具有比你在Visual Studio中遇到的全面展开执行更少的选择。要用Try…Catch,把你想运行的T-SQL放到Try块里面。如果在执行Try中的代码过程中发生了一个严重级别为10或更高的错误,执行就会跳转到Catch块里的异常处理代码。基本结构如下所示:
  BEGIN TRY
              (T-SQL代码放在这里)
              END TRY
              BEGIN CATCH
              (异常处理代码放在这里)
              END CATCH

  ROW_NUMBER函数
  SQL Server2005为我们引入了一个ROW_NUMBER函数。你是否曾经需要为你的查询结果集做行序号?你有时会发现能够为行做序号是一件很有用的事情。从前,你不得不作棘手的事,像创建一个有序号列的临时表,然后把你的SELECT结果插入到这个临时表中。现在,用ROW_NUMBER函数,你就可以获得添加在你的结果集的增加列中的行序号。为了获得行序号,你只要简单的将ROW_NUMBER函数作为一列添加进你的SELECT语句中。你还必须添加OVER语句以便告诉SQL Server你希望怎样添加行序号。
  SELECT ROW_NUMBER() OVER(ORDER BY employee_id) AS 'Row Number', * from
              dbo.employee

结果

[table=450]            [tr]            [td]            <div align="left">Row Number
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-9-27 19:21 , 耗时 0.114494 秒, 20 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表