SQL里有几十个存储过程,我想查找某个语句在哪些存储过程里出现过,有没有办法.
比如select name, id from person
如果一个个存储过程打开然后CTRL+F这样查询的话,太废时间了

解决方案 »

  1.   

    select object_name(s.object_id)存储过程名,
           definition
    from sys.sql_modules s inner join sys.procedures p
    on s.object_id=p.object_id
    where definition like '%select name, id from person%'
      

  2.   

    --2000
    select object_name(c.ID)存储过程名
           ,text
    from syscomments c inner join sysobjects o
    on c.id=o.id 
    where type='P' and text like '%select name, id from person%'
      

  3.   


    select a.name,b.text from sys.sysobjects a join syscomments b on (a.id = b.id) 
    where a.type = 'p' and b.text like '%你要找的字符串%'
      

  4.   


    select a.name
    from sysobjects a inner join 
             syscomments b on b.id = a.id
    where a.xtype = 'p' and b.text like '%你要查找的语句%'