电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

在Oracle表中進行關鍵詞搜索的過程

瀏覽:117日期:2023-03-12 15:25:00
目錄
  • 在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 /*+ PARALLEL (A 8)*/ 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;
    
    /*select module,client_info from v$session where module like "%PV_FINDER%"*/

    結果部分。

    • 如果我們搜索的關鍵詞/文本在相關的表中找到了,找到的表的名稱和找到的列的名稱,數量,以及查詢信息都會被寫出來。
    • 在底部是一般的總信息。我們可以看到搜索到的表的總數以及這些表中有多少被找到。
    Search Keyword: SAMPLE SEARCH KEYWORD
    -------------------------------------------
    table name found : TABLE - 1
    column name found : COLUMN NAME 
    count : 4
    sql name : SELECT /*+ PARALLEL (A 8)*/ 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 /*+ PARALLEL (A 8)*/ 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 /*+ PARALLEL (A 8)*/ 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 /*+ PARALLEL (A 8)*/ 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關鍵詞搜索內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: Oracle
    主站蜘蛛池模板: 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 智能监控-安防监控-监控系统安装-弱电工程公司_成都万全电子 | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 盛源真空泵|空压机-浙江盛源空压机制造有限公司-【盛源官网】 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 经济师考试_2025中级经济师报名时间_报名入口_考试时间_华课网校经济师培训网站 | 博博会2021_中国博物馆及相关产品与技术博览会【博博会】 | 耳模扫描仪-定制耳机设计软件-DLP打印机-asiga打印机-fitshape「飞特西普」 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 国际学校_国际学校哪个好_国际课程学校-国际学校择校网 | 消防设施操作员考试报名时间,报名入口,报考条件 | 双菱电缆-广州电缆厂_广州电缆厂有限公司 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 合肥办公室装修 - 合肥工装公司 - 天思装饰 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 应急灯_消防应急灯_应急照明灯_应急灯厂家-大成智慧官网 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 共享雨伞_共享童车_共享轮椅_共享陪护床-共享产品的领先者_有伞科技 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | 衬塑设备,衬四氟设备,衬氟设备-淄博鲲鹏防腐设备有限公司 |