返回顶部
首页 > 资讯 > 数据库 >在Oracle表中进行关键词搜索的过程
  • 181
分享到

在Oracle表中进行关键词搜索的过程

Oracle关键词搜索Oracle 表关键词搜索 2022-06-13 23:06:56 181人浏览 薄情痞子
摘要

目录在oracle表中的关键词搜索在Oracle数据库中,我们可以很容易地在模式内的表中找到我们正在寻找的文本或关键词。结果部分。在Oracle表中的关键词搜索 在Oracle数据库中,我们可以很容易地在模式内的表中找到

在Oracle表中的关键词搜索

在Oracle数据库中,我们可以很容易地在模式内的表中找到我们正在寻找的文本或关键词。

请阅读以了解该过程的步骤。

在Oracle数据库中,我们可以很容易地在模式内的表中找到我们要找的文本或关键词。由于我们可以搜索模式中的所有表,我们也可以在属于该模式的所需表内进行搜索。

如下面的PL/sql块所示,我们要搜索的文本/关键词是在相关表的varchar列上进行的。

  • 首先,我们在PL/SQL代码块的DECLARATioN部分指定 "p_search_text" -->要搜索的常量文本。
  • 在最下面一行,我们指定SCHEMA NAME为一个常量。
  • 在下一行中,我们指定了TABLE NAME。
  • 当我们把TABLE NAME字段传递为空时,我们搜索该模式中的所有表。
  • 如果我们把TABLE NAME传满,我们应该注意该模式中的表。否则,我们的搜索将找不到任何记录。

如上所述输入我们的定义后,我们可以通过Oracle SQL Developer或Toad运行下面的PL/SQL块。

PLSQL

DECLARE
    p_search_text      CONSTANT VARCHAR2 (1000) := 'SAMPLE SEARCH WRITE';
    p_schema_name      CONSTANT VARCHAR2 (1000) := 'SAMPLE SCHEMA NAME'; 
    p_table_name       CONSTANT VARCHAR2 (1000) := 'SAMPLE TABLE NAME';-- NULL (If FULL will work, give the table name null)

    TYPE r_column_data IS RECORD
    (
        column_name    SYS.DBA_TAB_COLUMNS.COLUMN_NAME%TYPE
    );

    TYPE tr_column_data IS TABLE OF r_column_data
        INDEX BY PLS_INTEGER;

    ltr_column_data             tr_column_data;

    TYPE tr_table IS TABLE OF VARCHAR2 (200)
        INDEX BY PLS_INTEGER;

    l_sql                       VARCHAR2 (1000);
    l_count                     NUMBER;
    ltr_table                   tr_table;
    l_found                     NUMBER := 0;
    l_column_name               VARCHAR2 (100);
BEGIN
      SELECT table_name
        BULK COLLECT INTO ltr_table
        FROM dba_tables
       WHERE     owner = p_schema_name
             AND table_name LIKE '' || p_table_name || '' || '%'
             AND ROWNUM <= 19999
    ORDER BY 1;

    DBMS_APPLICATION_INFO.set_module ('PV_FINDER', NULL);

    FOR i IN 1 .. ltr_table.COUNT
    LOOP
        DBMS_APPLICATION_INFO.set_client_info (
            i || '/' || ltr_table.COUNT || ' -> ' || ltr_table (i));

          SELECT col.column_name
            BULK COLLECT INTO ltr_column_data
            FROM sys.dba_tab_columns col
                 INNER JOIN sys.dba_tables t
                     ON col.owner = t.owner AND col.table_name = t.table_name
           WHERE col.table_name = ltr_table (i) AND col.DATA_TYPE = 'VARCHAR2'
        ORDER BY col.column_id;

        FOR j IN 1 .. ltr_column_data.COUNT
        LOOP
            DBMS_APPLICATION_INFO.set_client_info (
                   j
                || '/'
                || ltr_column_data.COUNT
                || ' -> '
                || ltr_column_data (j).column_name);

            l_sql :=
                   'SELECT  count(1) from '
                || p_schema_name
                || '.'
                || ltr_table (i)
                || ' A WHERE '
                || ltr_column_data (j).column_name
                || ' ='''
                || p_search_text
                || '''';

            EXECUTE IMMEDIATE l_sql INTO l_count;

            IF l_count > 0
            THEN
                IF l_found = 0
                THEN
                    DBMS_OUTPUT.put_line (
                        'Search KeyWord: ' || p_search_text);
                    DBMS_OUTPUT.put_line (
                        '-------------------------------------------');
                END IF;

                DBMS_OUTPUT.put_line ('table name found : '||ltr_table (i) );
                DBMS_OUTPUT.put_line ('column name found : ' || ltr_column_data (j).column_name);
                DBMS_OUTPUT.put_line ('count : ' || l_count);
                DBMS_OUTPUT.put_line ('sql name : ' || l_sql);
                DBMS_OUTPUT.put_line ('*****');

                l_found := l_found + 1;
            END IF;
        END LOOP;
    END LOOP;

    DBMS_APPLICATION_INFO.set_module (NULL, NULL);
    DBMS_APPLICATION_INFO.set_client_info (NULL);
    DBMS_OUTPUT.put_line ('-------------------------------------------');
    DBMS_OUTPUT.put_line ('total number of tables searched : ' || ltr_table.COUNT);
    DBMS_OUTPUT.put_line ('total number of tables found : ' || l_found);
END;

结果部分。

  • 如果我们搜索的关键词/文本在相关的表中找到了,找到的表的名称和找到的列的名称,数量,以及查询信息都会被写出来。
  • 在底部是一般的总信息。我们可以看到搜索到的表的总数以及这些表中有多少被找到。
Search Keyword: SAMPLE SEARCH KEYWORD
-------------------------------------------
table name found : TABLE - 1
column name found : COLUMN NAME 
count : 4
sql name : SELECT  count(1) from SCHEMA_NAME.TABLE-1 A WHERE TABLE-1.COLUMN ='SAMPLE SEARCH KEYWORD'
*****
table name found : TABLE - 2
column name found : COLUMN NAME 
count : 2
sql name : SELECT  count(1) from SCHEMA_NAME.TABLE-2 A WHERE TABLE-1.COLUMN ='SAMPLE SEARCH KEYWORD'
*****
table name found : TABLE - 3
column name found : COLUMN NAME 
count : 2
sql name : SELECT  count(1) from SCHEMA_NAME.TABLE-3 A WHERE TABLE-1.COLUMN ='SAMPLE SEARCH KEYWORD'
*****
table name found : TABLE - 4
column name found : COLUMN NAME 
count : 2
sql name : SELECT  count(1) from SCHEMA_NAME.TABLE-4 A WHERE TABLE-1.COLUMN ='SAMPLE SEARCH KEYWORD'
*****
-------------------------------------------
total number of tables searched : 72
total number of tables found : 4

oracle, plsql, oracle数据库, oracle表, 关键字搜索

DZone贡献者所表达的观点属于他们自己。

到此这篇关于在Oracle表中进行关键词搜索的过程的文章就介绍到这了,更多相关Oracle关键词搜索内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: 在Oracle表中进行关键词搜索的过程

本文链接: https://lsjlt.com/news/32871.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在Oracle表中进行关键词搜索的过程
    目录在Oracle表中的关键词搜索在Oracle数据库中,我们可以很容易地在模式内的表中找到我们正在寻找的文本或关键词。结果部分。在Oracle表中的关键词搜索 在Oracle数据库中,我们可以很容易地在模式内的表中找到...
    99+
    2022-06-13
    Oracle关键词搜索 Oracle 表关键词搜索
  • 在Oracle表中如何进行关键词搜索
    这篇“在Oracle表中如何进行关键词搜索”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“在Oracle表中如何进行关键词搜索...
    99+
    2023-07-02
  • 搜索Oracle DDL中的关键字
    如果要导出DD用户下的所有定义,那么在SQL*Plus中代码如下所示: SET PAGESIZE 0 SET TRIMSPOOL ON SET LINESIZE 10000 SET LONG 9...
    99+
    2024-04-02
  • PHP商城中的关键词搜索功能实现
    在现如今的电商时代,搜索功能已成为了电商网站上不可或缺的一部分,能够大大提高用户的购物体验。在PHP商城中,关键词搜索功能更是实现了这个功能的集大成者。本文将从关键词搜索的原理开始,深入探讨PHP商城中的关键词搜索功能实现。一、关键词搜索原...
    99+
    2023-05-22
    PHP 商城 关键词搜索 功能实现
  • vue实现搜索关键词高亮的详细教程
    目录正文解析正则api——execreg.exec执行接下来看看执行具体的执行结果提取关键字并分组完整vue代码正文 废话少说先上效果(左侧代码,右侧效果) ...
    99+
    2024-04-02
  • 如何在Android中使用EditText实现批量搜索关键词
    如何在Android中使用EditText实现批量搜索关键词?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。当用户在EditText中输入内容,点击搜索按钮的时候,输入的内容能够...
    99+
    2023-05-31
    android edittext roi
  • 如何在PHP中使用关键字数组进行快速搜索?
    在PHP编程中,经常需要对数据进行搜索操作,而使用关键字数组则是一种快速而有效的搜索方式。本文将介绍如何在PHP中使用关键字数组进行快速搜索,同时提供一些实例演示代码。 一、什么是关键字数组 关键字数组是指将数据中的关键词以数组的形式存储起...
    99+
    2023-08-02
    存储 关键字 数组
  • Android应用中怎么对搜索关键字进行匹配
    这期内容当中小编将会给大家带来有关Android应用中怎么对搜索关键字进行匹配,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. 单关键字 匹配如果只是单关键字的话,那么我们先计算出他的下标,它的长度,然...
    99+
    2023-05-31
    android roi
  • 如何在PHP项目中实现搜索功能和关键词匹配?
    如何在PHP项目中实现搜索功能和关键词匹配?标题:PHP项目实现搜索功能和关键词匹配方法探析在现如今信息爆炸的时代,搜索功能成为了各种网站和应用必备的功能之一。而对于PHP项目来说,实现搜索功能和关键词匹配也是一项常见的需求。本文将介绍一些...
    99+
    2023-11-03
    搜索 PHP 关键词匹配
  • 微信小程序实现搜索关键词高亮的示例代码
    1,前言 项目中碰到一个需求,搜索数据并且关键词要高亮显示,接到需求,马上开干。先上效果图。源码已经做成了小程序代码片段,放入了GitHub了,文章底部有源码链接。 2,思路 ...
    99+
    2024-04-02
  • Go 语言中的文件操作:如何使用函数关键字来搜索关键词?
    在 Go 语言中,文件操作是一项非常基础的任务。在日常的工作和开发中,我们需要经常读取、写入和搜索文件。本篇文章将介绍如何在 Go 语言中使用函数关键字来搜索关键词。 搜索文件 在 Go 语言中,可以使用 os 包中的 Open 函数来打...
    99+
    2023-10-23
    函数 关键字 文件
  • thinkphp中使用Elasticsearch 7.0进行多表的搜索
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、thinkphp中使用Elasticsearch 7.0进行多表的搜索二、使用步骤1.引入库2.读入数...
    99+
    2023-09-11
    elasticsearch jenkins 大数据
  • 如何优化PHP开发中的搜索引擎和关键词优化
    在现代的互联网时代,搜索引擎已经成为了人们获取信息的重要途径。作为一名PHP开发者,如何优化搜索引擎和关键词已成为了一个重要的课题。本文将介绍一些优化搜索引擎和关键词的方法,并附上具体的代码示例。一、优化搜索引擎使用合适的网页结构搜索引擎爬...
    99+
    2023-10-21
    PHP开发 搜索引擎优化(SEO) 关键词优化
  • 网站优化中如何进行关键词的筛选
    本篇文章给大家分享的是有关网站优化中如何进行关键词的筛选,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。关键词是我...
    99+
    2024-04-02
  • 怎么用Thinkphp+Ajax实现带关键词搜索列表无刷新分页的功能
    这篇文章主要讲解了“怎么用Thinkphp+Ajax实现带关键词搜索列表无刷新分页的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Thinkphp+Ajax实现带关键词搜索列表无刷...
    99+
    2023-06-04
  • Linux环境中Java程序的关键字搜索技巧有哪些?
    在Linux环境下,Java程序的关键字搜索技巧是非常重要的。本文将介绍几种常用的技巧,以帮助开发人员更加高效地查找Java代码中的关键字。 grep命令 grep命令是Linux环境下最常用的文本搜索工具之一。在Java程序中,我们...
    99+
    2023-08-11
    日志 linux 关键字
  • 如何在Java应用程序中使用关键字搜索Linux日志文件?
    在Linux系统中,日志文件是记录系统运行状态和错误信息的重要文件。但是,当日志文件变得庞大时,手动搜索需要花费大量的时间和精力。因此,自动化搜索是必要的。本文将介绍如何使用Java编写一个简单的程序来搜索Linux日志文件中的关键字。 ...
    99+
    2023-08-11
    日志 linux 关键字
  • 在Java中实现二叉搜索树的全过程记录
    目录二叉搜索树有序符号表的 API实现二叉搜索树二叉搜索树类查找插入最小/大的键小于等于 key 的最大键/大于等于 key 的最小键根据排名获得键根据键获取排名删除总结二叉搜索树 ...
    99+
    2024-04-02
  • Apache服务器上的关键字搜索:如何使用ASP和Linux系统进行优化?
    Apache服务器是一款流行的Web服务器软件,它支持多种操作系统,包括Linux和Windows。在许多Web应用程序中,关键字搜索功能是至关重要的。在本文中,我们将介绍如何使用ASP和Linux系统来优化Apache服务器上的关键字搜...
    99+
    2023-09-03
    关键字 apache linux
  • ASP在Linux中的应用:如何优化Apache服务器的关键字搜索?
    随着互联网技术的不断发展,人们的搜索需求越来越高效和精准。而Apache服务器是一款非常流行的Web服务器,它的关键字搜索功能对于用户来说非常重要。本文将介绍如何在Linux系统下利用ASP技术优化Apache服务器的关键字搜索。 一、A...
    99+
    2023-09-03
    关键字 apache linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作