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'l'  
      --*/  
      create   proc   p_search  
      @str   Nvarchar(1000)   --要搜索的字符串  
      as  
      if   @str   is   null   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  
      go  
     

  • 相关阅读:
    Spring学习之声明式事物管理
    SSH整合所需jar
    Spring学习之AOP
    常见MyEclipse报错—— serialVersionUID的作用
    Spring学习之基本概念
    Java基础——I/O续
    Java基础——I/O
    Vim学习总结
    Java基础——异常处理
    Git 学习总结
  • 原文地址:https://www.cnblogs.com/chenkg/p/2946048.html
Copyright © 2011-2022 走看看