当前位置: 首页 > 面试题库 >

在整个oracle数据库中搜索部分字符串

诸葛亮
2023-03-14
问题内容

我正在尝试在整个Oracle数据库中查找特定的字符串。

我已经在此处的另一个主题(在所有表中的所有字段中搜索特定值(Oracle))中遵循了该示例,并且当字符串是一列中的整个值时,它就可以正常工作。但是我需要搜索字符串作为列的一部分。

例如,如果我搜索“ Alert”,则应返回所有带有“ Alert”的列和所有带有“ Alert_QB”的列

这是当前的查询:

DECLARE
  match_count INTEGER;
BEGIN
  FOR t IN (SELECT owner, table_name, column_name
              FROM all_tab_columns
              WHERE data_type LIKE '%CHAR%') LOOP

    EXECUTE IMMEDIATE
      'SELECT COUNT(*) FROM ' || t.owner || '.' || t.table_name ||
      ' WHERE '||t.column_name||' = :1'
      INTO match_count
      USING 'ALERT';

    EXCEPTION when others then
    null;
    end;

    IF match_count > 0 THEN
      dbms_output.put_line( t.table_name ||' '||t.column_name||' '||match_count );
    END IF;

  END LOOP;

END;
/

我认为它靠近“使用’ALERT’;” 行,我需要添加一些东西,但是我不知道是什么。

谢谢


问题答案:

更改为

EXECUTE IMMEDIATE
  'SELECT COUNT(*) FROM ' || t.owner || '.' || t.table_name ||
  ' WHERE '||t.column_name||' like :1'
  INTO match_count
  USING '%ALERT%';


 类似资料:
  • 问题内容: 我对SQL查询没有太多的经验,因此在寻找问题的解决方案时遇到了一些麻烦。 我有书签列表,例如:Facebook的,开发者控制台,堆栈溢出......我也有自己的URL列表:http://m.facebook.com,https://market.android.com。 .. 我试图让用户搜索这2个列表并显示任何相似的结果,例如-如果用户搜索了“脸部”,我希望他获得“ Facebook

  • 本文向大家介绍在MySQL数据库中快速搜索字符串?,包括了在MySQL数据库中快速搜索字符串?的使用技巧和注意事项,需要的朋友参考一下 使用FULLTEXT搜索来快速搜索字符串。让我们首先创建一个表- 这是创建全文本搜索的查询- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是在MySQL数据库中快速搜索字符串的查询。在这里,我们正在搜索字符串

  • 问题内容: 我试图在mySQL的整个表中搜索一个字符串。 我想搜索表的所有字段和所有主菜,返回包含指定文本的每个完整条目。 我不知道如何轻松地搜索多个字段。详细信息如下: 该表是“客户端”。它具有大约30个字段和800个条目,太多了以至于无法在浏览器中一次全部显示。我想搜索的域名(即“玛丽”),但它可能是在或,或字段等 我想在所有字段中搜索包含字符串“ Mary”的所有条目。我认为这应该可行,但不

  • 我正在寻找创建一个数据库搜索(MySQL),使用PHP来查找电气部件的零件号,但希望搜索也能找到类似的字符 例如,搜索6SE7O90也应搜索6SE7090,搜索4I737A也应搜索4L737A,因为在某些零件标签上打印的0/O和I/L可能看起来相似。 在PHP/MySQL中实现这一点的最佳方法是什么?

  • 如果我搜索John,就会得到结果(如果我搜索Jo,就会得到event)。但如果我搜索无名氏,显然没有任何结果。 如果我将查询更改为JohnDoe,我会得到结果,但它会返回所有在其最后/名字中有John或Doe的人。 接下来是尝试使用mongoose TextSearch: 有办法解决吗? 没有外部插件的答案是首选的,但其他的也是希望的。

  • 问题内容: 我有一个特定的字符串,例如“ 123abcd”,但我不知道表的名称,甚至不知道SQL Server数据库中表内的列的名称。我想通过选择找到它并显示相关字符串的所有列,所以我想知道以下内容: 出于显而易见的原因,它不起作用,但是有一种简单的方法可以创建一个select语句来执行类似的操作? 问题答案: 这将起作用: 不过,有几点警告。首先, 这是极其缓慢且未优化的 。所有值都将被简单地转