SQLSERVER2005调试存储过程跟函数

sqlSERVER2005调试存储过程跟函数

以前一直用Toad for sqlServerDatabase.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:调试函数,调试的时候无论是存储过程还是函数,都会直接跳过变量定义部分进入函数或存储过程主体来执行

 

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 30 3 AS 4 begin 5    -- 用法 select * from SplitString('1,2,3') 6  7    declare @str ) 8    @i int 9 10    set @i=011    while(<len(@string12    begin    13        if(substring(@string,@i,1)=','14         15             select @str1,128)">-116             @string+17                   18             insert into values(ltrim(@str19     20            end21        else22            begin 23             =24            25    26 27    28 29    RETURN30 end

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...