zoukankan      html  css  js  c++  java
  • 如何查找所有包含了某个文本的存储过程

    背景:我想查找所有使用了sp_a 的存储过程。右击sp_a->view dependencies-> 选择 view objects that depend on [sp_a] 你会发现,有时候结果不能够全部列出来,不能够找到所有使用了sp_a的其他存储过程。上图说明吧。


     

    上图存储过程调用了mup_GetA(我把和项目相关的命名都擦除掉了)

     

     上图通过sqlserver 图形管理器自带的功能查看依赖于mup_GetA的对象。


     

     结果有点雷人,居然没有列出mup_GetB 来(我使用的是sql server 2005)

    下面是解决方法

    方法1:

    打开数据库管理界面->右击数据库->tasks->Generate Scripts->.....

    导出所有存储过程到文件中,然后ctrl+F查找

    方法2:

    SELECT ROUTINE_NAME, ROUTINE_DEFINITION 
        
    FROM INFORMATION_SCHEMA.ROUTINES 
        
    WHERE ROUTINE_DEFINITION LIKE '%text%' 
        
    AND ROUTINE_TYPE='PROCEDURE'

    将text替换成你要查找的内容

    方法3:

    select name

    from sysobjects o, syscomments s

    where o.id = s.id

    and text like '%text%'

    and o.xtype = 'P'

    将text替换成你要查找的内容


    完毕

  • 相关阅读:
    2016012061 小学四则运算练习软件项目报告
    阅读《构建之法》的几点思考
    软件工程之我见
    作业五
    结对作业
    第4.17章读书笔记
    week_2 四则运算
    第1.2.16章读书笔记
    我与软件工程
    团队项目Alpha冲刺阶段之学习总结
  • 原文地址:https://www.cnblogs.com/windfighter/p/1743775.html
Copyright © 2011-2022 走看看