码迷,mamicode.com
首页 > 其他好文 > 详细

快捷键浏览存储过程的内容(执行文中的User Store Proc,设置快捷方式的指向usp_Name)

时间:2020-05-21 14:51:16      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:ima   内容   不同   个数   master   int   div   启动   cat   

虽然不常用,但使用时还是在用传统方法查看存储过程的内容, sp_helptext usp_Name;
下面这段执行后可设置快捷查询usp的内容(但是需要在每个数据库下都存在,不能直接在master,并且执行后需要重新启动才生效)
需要在多个Tabsheet中切换查询浏览时,SSMS查看的方法打开Tabsheet也较少,NaviCAT Premium可打开10个TabSheet还是不够,需要20个才好.
(图片中内容与usp_name不一样,是因为在不同库中设置过,要一致)
    技术图片

 

 

 --查看存储过程源码 
    create procedure mp_helptext(  
        @name varchar(255)  
    )  
    as  
    declare @object_id int,  
                    @sourcecode varchar(max),  
                    @line varchar(max),  
                    @end int,  
                    @rn varchar(2),  
                    @tab varchar(1)  
                      
    declare @source table(  
        source varchar(max)  
    )  
      
    set @rn = char(13)+char(10)  
    set @tab = char(9)  
      
      
    select @sourcecode = definition from sys.sql_modules where object_id=object_id(@name)  
      
    while(charindex(@rn,@sourcecode)!=0)  
    begin  
        set @end=charindex(@rn,@sourcecode)  
        set @line = replace(substring(@sourcecode,1,@end-1),@tab,@tab+@tab)  
        if(charindex(create,@line)<>0 and (charindex(proc,@line)<>0 or charindex(view,@line)<>0 or charindex(function,@line)<>0 or charindex(trigger,@line)<>0))  
        begin  
            set @line = replace(@line,create,alter)  
        end  
        insert into @source(source) values(@line)  
        set @end = @end + 2  
        set @sourcecode = substring(@sourcecode,@end,len(@sourcecode))  
    end  
    insert into @source(source) values(@sourcecode)  
      
    select * from @source  

 

快捷键浏览存储过程的内容(执行文中的User Store Proc,设置快捷方式的指向usp_Name)

标签:ima   内容   不同   个数   master   int   div   启动   cat   

原文地址:https://www.cnblogs.com/CDPJ/p/12930522.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!