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

    只有当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
  • 相关阅读:
    又玩起了“数独”
    WebService应用:音乐站图片上传
    大家都来DIY自己的Blog啦
    CSS导圆角,不过这个代码没有怎么看懂,与一般的HTML是不同
    网站PR值
    CommunityServer2.0何去何从?
    网络最经典命令行
    炎热八月,小心"落雪"
    Topology activation failed. Each partition must have at least one index component from the previous topology in the new topology, in the same host.
    SharePoint 2013服务器场设计的一些链接
  • 原文地址:https://www.cnblogs.com/lyhabc/p/2972305.html
Copyright © 2020-2023  润新知