SQLServer2008:助您轻松编写T-SQL存储过程(原创)【转】
本文主要介绍 SQLServerExpress2008不用第三方工具调试T-SQL语句,经过本文的介绍,用SQLSERVER2008 Manage studio 编写、调试T-SQL存储过程都将是一件轻松、快乐的事情。
一、回顾早期的SQLSERVER版本:
早在SQL2000时代,查询分析器的功能还很简陋,远不如VS那么强大。到SQL2005时代,代码高亮、SQL优化等功能逐渐加强,但是依然无法调试SQL语句。好一点的第三方的SQL语法编辑器似乎也不够完美,这样导致一些人抱怨存储过程不便于维护,开发的时候能不用则不用。
二、SQLSERVER2008Express 智能提示加强:
该功能是SQL2008在SQL2005之后的升级版,我们可以很方便的调用智能提示,和 VS一致:使用快捷键ctrl + J 即可。
截图如下:

该功能是否与VS一样了呢? 毕竟他们都是微软的产品。
三、调试T-SQL语句:
1.Debug普通T-SQL语句:
SQL代码如下:

1 use northwind
2 go
3
4 declare @i int ,@j int,@k int
5 set @i = 1;
6 set @j = 2;
7 set @k=@i + @j
8 select @i;
9 go

非常简单的定义了 三个int 型变量:i、j、k并且对这些变量进行简单的逻辑运算,在Management Studio 中只要轻松的按F11键,即可调试以上代码块。
截图如下:

接着点击F11逐语句debug 或者F10逐过程调试代码。
截图如下:

这个dubug的场面您是否觉得已经和VS相差无几了呢?
四、支持复杂存储过程嵌套debug:
您可能会疑问,在一个庞大的系统中,如果数据库逻辑绝大部分都是存储过程实现的情况下,会出现存储过程嵌套存储过程或者嵌套存储函数这样的代码。
SQL2008是否支持调试功能呢?答案是肯定的。
首先定义一个简单的存储过程(本文使用NorthWind数据库)代码如下:

1 CREATE procedure sp_getOrders
2 @orderID int = null
3 as
4 if (@orderID is null )
5 begin
6 print 'null'
7 end
8 else
9 begin
10 print 'correct'
11 end
12 select * from Orders where OrderID = @orderID
13 go

该存储过程在以下批处理内被调用,代码如下:

1 declare @i int ,@j int,@k int
2 set @i = 1;
3 set @j = 2;
4 select @k=@i + @j
5 exec sp_getOrders 10248
6 select @i;
7 go

F11对以上代码进行SQL Debug。
截图如下:

当断点经过exec sp_getOrders 10248 这段代码时,点击F11进入sp_getOrders存储过程进行逐语句debug。
截图如下:

这样可以在嵌套的存储过程或函数内进行debug了,此刻不得不承认: 升级后的SQL2008越来越强大。您还恐惧使用或者调试存储过程么?
五、小结:
附上SQLSERVERExpress2008官方下载地址,该版本依然不支持Agent,如果想自动备份数据库请阅我的这篇文章。
最后希望本篇文章可以给您带来帮助,如有不足之处欢迎指出,谢谢!
SQLServer2008:助您轻松编写T-SQL存储过程(原创)【转】的更多相关文章
- 《软件测试自动化之道》读书笔记 之 SQL 存储过程测试
<软件测试自动化之道>读书笔记 之 SQL 存储过程测试 2014-09-28 待测程序测试程序 创建测试用例以及测试结果存储 执行T-SQL脚本 使用BCP工具导入测试用例数据 ...
- sql存储过程几个简单例子
导读:sql存储是数据库操作过程中比较重要的一个环节,对于一些初学者来说也是比较抽象难理解的,本文我将通过几个实例来解析数据库中的sql存储过程,这样就将抽象的事物形象化,比较容易理解. 例1: cr ...
- 编写高性能SQL的注意事项
在数据库部分,对数据库应用性能改进来说,需要重点关注应用程序,在查询设计和索引策略等方面进行优化,甚至可以把数据库查询效率提高数百倍,在其他方面的优化努力,其效果就没有这么明显(见下图).本文重点描述 ...
- SQL server 定时自动执行SQL存储过程
当一个存储过程是为了生成报表,并且是周期性的,则不需要人工干预,由SQL作业定时自动执行些SQL存储过程即可. 本示例,假设已需要定时执行的存储过程为:Pr_test 工具/原料 SQL Server ...
- 程序员必备的编程助手!SmartCoder助你轻松集成HMS Core
当开发者在集成HMS Core遇到一些疑问时,需要翻阅官网文档,反复查看集成说明或者API调用说明,或者研究GitHub上的开源示例代码,花费较多的时间,在IDE环境和网页浏览器之间反复切换也会耗费很 ...
- PL/SQL存储过程编程
PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编 ...
- SQL存储过程分页(通用的拼接SQL语句思路实现)
多表通用的SQL存储过程分页 案例一: USE [Community] GO /****** Object: StoredProcedure [dbo].[Common_PageList] Scrip ...
- SQL存储过程的调用及写法
调用函数: public class SqlProcess { ; public DataSet ReturnSet = null; public SqlDataAdapter adapter = n ...
- SQL存储过程生成顺序编码
一.第一种方式 USE [WJKC]GO/****** Object: StoredProcedure [dbo].[Address_GetCode1] Script Date: 2016/3 ...
随机推荐
- Notification通知
manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); button = (Button) fi ...
- 使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置
使用VIRTUALBOX安装ANDROID系统 | 图文教程 | 相关设置 http://icaoye.com/virtualbox-run-android/
- 对于Spark1.3进行编译
编译其实是按照官方文档进行的,比较简单,文档地址是:http://spark.apache.org/docs/latest/building-spark.html 编译命令最终是: 先要执行: exp ...
- js:语言精髓笔记8--对象系统
封装: 一把对象系统,封装是由语法解析来实现的,即语法作用域:但js是动态语言,因此只能依赖变量作用域: js的变量作用域只有表达式,函数,全局三种:所以js只能实现public和private两种封 ...
- App Store上下载和安装Xcode
App Store上下载和安装Xcode Xcode的下载和安装 要编写一个Sprite Kit程序,需要使用到Xcode开发工具.本节将主要讲解此工具的两种下载和安装方式:一种是在App Store ...
- SVN标准命令
SVN标准命令 范例 checkout 检出 svn co URL 检出app/search/news/apache/主干上最新版本到本地工作副本,可执行命令: svn co https://s ...
- CC150 - 11.5
Question: Given a sorted array of strings which is interspersed with empty strings, write a method t ...
- COJ0702 数学(三)
数学(三) 难度级别:D: 运行时间限制:1800ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 给出两个正整数a,b,求a*b. 输入 输入共两行,每行是一个正整 ...
- FFT模板
我终于下定决心学习FFT了. orzCHX,得出模板: #include<cstdio> #include<cctype> #include<queue> #inc ...
- Uiautomator打包使用第三方库,报错的解决方案
问题引源: 在做自动化过程中,想在用例执行完毕后,自动生成该用例测试报告: 报告定义为Excel格式文件,且在用例执行过程中生成. 所以我在Uiautomator工程中引用了jxl.jar,用以处理E ...