`
sdbany
  • 浏览: 16957 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

从整个数据库进行搜索的存储过程

阅读更多

对整个数据库全部表的字段进行文本查找,返回的结果为字段名、表名、出现的次数

CREATE            PROCEDURE        Search_tablename         
       @strword    varchar(50)         
       AS         
       BEGIN         
       set        nocount        on         
       create        table        #result         
       (         
       OID    int        not        null        identity,         
       ziduan        varchar(50)            null,         
       tablename    varchar(50)            null,         
       ziduanleixing                varchar(50)            null,         
       icount                                        int        null         
       )         
       declare        @count    int         
       ,@ziduanname        varchar(50)         
       ,@tablename        varchar(50)         
       ,@ziduanleixing        varchar(50)         
       ,@sql        Nvarchar(800)         
       declare        cur_LocationList        cursor        fast_forward        for         
       select        a.name        ,b.name,c.name            from        syscolumns        a         
       inner        join            sysobjects        b             
       on        a.id=b.id        and        b.xtype='u'        and        lower(a.name)        not        in('desc','order','top','left','bottom','right')         
       inner        join        systypes        c             
       on            a.xtype=c.xusertype             
       and        c.name        in('varchar','char','nvarchar','nchar','decimal','float','int','money')                 
       open        cur_LocationList         
       fetch        next        from        cur_LocationList        into        @ziduanname,@tablename,@ziduanleixing         
       while        @@fetch_status        =        0         
       begin         
       set        @count=0         
       if        @ziduanleixing='money'         
       set        @sql='select        @a=count(*)        from        ['+@tablename+']        where        convert(varchar(20),['+@ziduanname+'])        like       ''%'+@strword+'%'''         
       else         
       set        @sql='select        @a=count(*)        from        ['+@tablename+']        where        ['+@ziduanname+']        like       ''%'+@strword+'%'''         
       --print        @sql         
       exec        sp_executeSql        @sql,N'@a        int        output',@count        output         
       --print        @count         
       if        @count>=1         
       begin             
       insert        into        #result(ziduan,tablename,icount,ziduanleixing)        values        (@ziduanname,@tablename,@count,@ziduanleixing)         
       end         
       fetch        next        from        cur_LocationList        into        @ziduanname,@tablename,@ziduanleixing         
       end         
       close        cur_LocationList         
       deallocate        cur_LocationList         
       select        ziduan        as        "字段名",tablename        as        "表名",icount        as        "出现次数",ziduanleixing        as        "字段类型"        from        #result         
       order        by        "表名","字段名"         
       drop        table        #result         
               set        nocount        off         
       END
GO

exec Search_tablename '欲查找值'

分享到:
评论

相关推荐

    整个数据库内字符串搜索

    ### 整个数据库内字符串搜索 #### 知识点概览 本文将详细介绍如何在SQL Server数据库中实现全库范围内的字符串搜索功能。通过自定义存储过程的方式,我们可以有效地搜索数据库中的所有表,并针对每一张表中的指定...

    从数据库读取图片文件

    在IT领域,数据库不仅仅是用来存储结构化...综上所述,从数据库读取图片文件是一个涉及数据存储、查询、安全性、性能优化等多个环节的复杂过程。理解并掌握这些知识点对于构建高效、安全的图像存储和检索系统至关重要。

    整个网站的搜索(数据库提取)

    在整个网站的搜索(数据库提取)过程中,我们主要涉及两个核心领域:数据库管理和网站搜索技术。以下是对这两个领域的详细解释: 1. **数据库管理**: - 数据库是存储和组织数据的系统,它允许高效地检索、更新和...

    全数据库搜索工具

    全数据库搜索工具实现了这一功能,允许用户一次性搜索整个数据库,而不仅仅是单个表或列。 数据查找是工具的核心功能。它允许用户输入关键字或短语,然后在数据库的所有表和字段中进行全文搜索。这不仅包括明文数据...

    数据库所有存储过程中查找自定义字符

    - **AND B.TEXT LIKE '%' + 'my_table_nm' + '%'**:搜索存储过程定义中的文本,找出包含特定表名`my_table_nm`的过程。 #### 3. **更深入的技术细节** - **TEXT字段解析**:`SYSCOMMENTS`表中的`TEXT`字段包含...

    列式数据库存储原理列式数据库存储原理

    列式数据库作为一种新型的数据存储方式,通过改变数据的存储结构,实现了对大量数据进行快速查询和分析的能力。本文将深入探讨列式数据库的存储原理及其优势。 #### 二、传统数据库的行式存储 传统的关系型数据库...

    存储过程以及视图关键字搜索工具

    本文将深入探讨存储过程和视图的概念,以及如何利用特定工具进行管理和搜索。 首先,让我们理解什么是存储过程。存储过程是预编译的SQL语句集合,它封装了一系列的数据库操作,可以在需要时执行。在SQL Server 2012...

    数据库的图片存储简历的添加删除编辑查询

    编辑简历,尤其是涉及图片的更改,需要先从数据库中取出原始图片数据,进行修改后,再更新回数据库。这同样涉及到读取和写入二进制数据的过程。在某些情况下,如果只需要更新部分信息,可以使用SQL的`UPDATE`语句只...

    如何在数据库的整个存储过程中查找列或文本?

    有一些第三方工具,如Red Gate的SQL Search,提供了更强大的搜索功能,可以直接在数据库的整个代码库中搜索,包括存储过程、触发器和函数等。 5. **源代码控制**: 如果你的存储过程在源代码控制系统中管理,如...

    SQL Server的全数据库搜索引擎.pdf

    全文搜索引擎的核心思想是利用存储过程自动识别数据库的逻辑模式,对整个数据库系统中的数据进行匹配。当找到与关键词匹配的表和列时,返回表名和列名的集合,以便后续的程序(如服务器端的存储过程或客户端应用程序...

    SQL数据库所有表中查找关键字.doc

    该存储过程名为 SP_FindValueInDB,它可以在整个数据库中搜索指定的关键字,并返回搜索结果。 存储过程的主要逻辑是使用游标遍历数据库中的所有表和列,然后使用动态 SQL 语句来构建搜索语句。该搜索语句使用 LIKE ...

    数据库课程设计报告

    整个数据库课程设计报告不仅体现了数据库理论与实践的结合,还展示了从需求分析到系统实现的全过程。对于学习数据库的学生而言,这样的项目不仅加深了对数据库设计原理的理解,还锻炼了将理论知识应用于解决实际问题...

    批量附加SQL数据库v3.2

    在IT行业中,数据库管理是至关重要的任务之一,尤其是在企业级应用中。SQL(Structured Query Language)数据库因其高效、稳定...在实际使用过程中,结合正确的操作流程和注意事项,可以确保数据库管理工作的顺利进行。

    基于数据库的管理软件

    对于信息管理,数据库软件提供了高效的数据存储和检索机制,便于进行数据分类、搜索、报表生成等操作。例如,可以构建一个员工信息管理系统,通过数据库来存储员工的基本信息、薪资记录、考勤数据等。在这样的系统中...

    sharepoint数据库.pdf

    - **搜索数据库**:用于存储搜索索引和配置信息。 - **定时作业数据库**:记录SharePoint执行的各种后台任务的信息。 #### 三、文件操作数据库通讯协议 文档中提到的“File Operations Database Communications ...

    数据库系统概论第四版答案

    - 需要处理大量数据并进行复杂查询的应用场景,如大数据分析平台、搜索引擎等。 通过以上分析,我们可以清楚地了解到数据库系统的基本概念、使用数据库系统的好处、文件系统与数据库系统的区别与联系以及它们各自...

    Ajax 搜索提示应用实例 含数据库演示

    在这个"ASP+Ajax 搜索提示应用实例"中,我们将探讨如何结合ASP(Active Server Pages)和Ajax来实现一个具有搜索提示功能的应用,同时这个应用还与数据库进行了交互,显示了关键词和搜索结果数量。 首先,让我们...

    仿百度搜索功能附带数据库 java+jsp

    在IT领域,构建一个搜索引擎是复杂且技术性强的工作,但我们可以简化这个过程,模仿百度的搜索功能来创建一个基础的搜索系统。这个项目利用了Java、JSP(JavaServer Pages)以及Ajax(Asynchronous JavaScript and ...

    数据库管理系统课程设计

    在课程设计中,学生们会学习如何创建数据库架构,定义表、视图、索引等数据库对象,以及如何使用Transact-SQL(T-SQL)进行数据操作和存储过程的编写。 SQL语言原理是理解数据库管理系统的基础。SQL(Structured ...

Global site tag (gtag.js) - Google Analytics