如:我想搜索数据库下面所有的视图和存储过程是否存在“from xxtable”,如何实现?现在在看离职同事留下的项目,想搞清楚相关的表格关联。

解决方案 »

  1.   

    select * from sysobjects where xtype='P' or xtype='V'
      

  2.   

    看错题了...要进一步从text里去找.
      

  3.   

    不好意思没有表达清楚,我的意思是:想搜索数据库下面所有的视图和存储过程的语句是否存在“from xxtable”
    如搜索存在“dbo.OrderInfo”关键词的视图和存储过程。
      

  4.   

    declare @sql nvarchar(max)
    set @sql='set nocount on create table #t(text varchar(max)) 
    '
    select @sql=@sql+'
     insert into #t execute sp_helptext '+ name +'
     select '''+name+''' where exists(select 1 from #t where charindex(''from xxtable'',text)>0) 
    truncate table #t 
    '
    from sysobjects where xtype='p' or xtype='v' 
    set @sql=@sql+' drop table #t'
    exec (@sql)
    go
      

  5.   

    也可以改一下,将查得的name存放到一个表中,一次性取出.
      

  6.   

    安装个插件吧.好使得很.呵呵
    #1.SQL Prompt 5 (一个很好用的插件)
    #2.SQL Search 1.0 (这个就可以实现你要的功能)
    csdn资源中有下载
      

  7.   

    非常感谢! 使用SQL Search 1.0实现啦!!