SQLServer数据库之SQLSERVER2005调试存储过程跟函数
小标 2019-02-21 来源 : 阅读 2397 评论 0

摘要:本文主要向大家介绍了SQLServer数据库之SQLSERVER2005调试存储过程跟函数,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

本文主要向大家介绍了SQLServer数据库之SQLSERVER2005调试存储过程跟函数,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

SQLServer数据库之SQLSERVER2005调试存储过程跟函数

SQLSERVER2005调试存储过程跟函数

以前一直用Toad for SqlServer 和Database.Net 来调试SQL2005的存储过程跟函数

Toad for SqlServer介绍以及下载:toad for sqlserver5.7

Database.Net 介绍以及下载:Database .NET 8.0 发布,数据库管理工具

今日发现原来上面两个工具的功能,微软的Visual Studio也可以做到

本来微软自家的Visual Studio就支持调试SQLSERVER的存储过程跟函数,我竟然用了第三方工具,而且这些第三方工具也不是很好用

微软在SQLSERVER Management Studio2008里才集成了TSQL调试功能,那么SQL2005只有用VS来调试了


幸亏VS调试TSQL也不是很复杂

我的环境:VS2008 TeamSystem  ,  SQL2005 个人开发版 ,   Windows7 Ultimate

我使用的工具还是比较落后

step1:打开Visual Studio2008,然后点击菜单 视图-》服务器资源管理器

最好以管理员身份登录操作系统,打开VS的时候一般就以管理员的身份运行了


step2:在数据连接那里 右键-》添加连接


step3:数据源那里选择SQLSERVER就可以了


step4:选择你本地的数据库不要选择局域网或者广域网里的数据库,因为Windows安全问题的原因你是调试不了的只能执行

joe是我的笔记本电脑的计算机名,joe-homepc是局域网里另一台计算机的计算机名


选择好了之后点击“测试连接” ,没有问题就可以点击“确定”按钮了


step5:打开存储过程或者函数的树节点,然后找一个存储过程或者函数进行调试


step6:调试函数,调试的时候无论是存储过程还是函数,都会直接跳过变量定义部分进入函数或存储过程主体来执行

只有当TSQL语句运行的时候才会中断到断点的地方


step7:调试存储过程


 当你调试远程SQL服务器的时候,VS就会报错,就像你写C#的时候是调试不了远程电脑上的代码的


不过个人觉得调试如果能看到表数据就最好了,调试的时候varchar nvarchar int  datetime这些数据都可以看到

但是表的内容,无论是临时表,表变量,表都是无法看到数据的,如果你想查看中途我插入到@temp表变量里的数据是看不到的

包括Toad for SqlServer 这些工具也是没办法看到的,个人觉得这是一个缺点


最后给大家一个函数,这个函数的作用就是切割字符串,大家可以用来调试一下


 1 CREATE     FUNCTION [dbo].[SplitString] (@string varchar(6000))
 2 RETURNS @temp TABLE(substr varchar(30))
 3 AS
 4 begin
 5    -- 用法 select * from SplitString('1, 2, 3')
 6 
 7    declare @str varchar(6000)
 8    declare @i int
 9 
10    set @i=0
11    while(@i<len(@string))
12    begin    
13        if(substring(@string,@i,1)=',')
14         begin
15             select @str=substring(@string,1,@i-1)
16             set @string=substring(@string,@i+1,len(@string))
17                   set @i=1
18             insert into @temp values(ltrim(@str))
19     
20            end
21        else
22            begin 
23             set @i=@i+1
24            end
25    end
26 
27    insert into @temp values(ltrim(@string))
28 
29    RETURN
30 end

本文由职坐标整理并发布,希望对同学们学习SQL Server有所帮助,更多内容请关注职坐标数据库SQL Server数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 1
看完这篇文章有何感觉?已经有1人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程