zoukankan      html  css  js  c++  java
  • 如何全库搜索某一字符串?

    if   exists   (select   *   from   dbo.sysobjects   where   id   =   object_id(N'[dbo].[p_search]')   and   OBJECTPROPERTY(id,   N'IsProcedure')   =   1)  
      drop   procedure   [dbo].[p_search]  
      GO  
       
      /*--搜索某个字符串在那个表的那个字段中   
          
        
      /*--调用示例  
      use   pubs  
      exec   p_search   N ' 搜索字符 '  
      --*/  
      create   proc   p_search  
      @str   Nvarchar(1000)   --要搜索的字符串  
      as  
      if   @str=''   return  
       
      declare   @s   Nvarchar(4000)  
      create   table   #t(表名   sysname,字段名   sysname)  
       
      declare   tb   cursor   local   for  
      select   s='if   exists(select   1   from   ['+replace(b.name,']',']]')+']   where   ['+a.name+']   like   N''%'+@str+'%'')  
      print   ''所在的表及字段:   ['+b.name+'].['+a.name+']'''  
      from   syscolumns   a   join   sysobjects   b   on   a.id=b.id  
      where   b.xtype='U'   and   a.status>=0  
      and   a.xtype   in(175,239,99,35,231,167)  
      open   tb  
      fetch   next   from   tb   into   @s  
      while   @@fetch_status=0  
      begin  
      exec(@s)  
      fetch   next   from   tb   into   @s  
      end  
      close   tb  
      deallocate   tb  
       
      /*--测试结果  
       
      所在的表及字段:   [authors].[au_lname]  
       
      --*/
  • 相关阅读:
    数组同时求极值
    约瑟夫环
    使用流迭代器, sort, co…
    Emacs 使用TAGS阅读源码
    Making Emacs Work For Me
    gnu libc 源码分享
    JavaSE 键盘事件类(KeyEvent)实现
    老子《道德经》第二十三章
    linux 系统没有默认的目录
    老子《首德经》第二十二章
  • 原文地址:https://www.cnblogs.com/lds85930/p/1205151.html
Copyright © 2011-2022 走看看