Sql 如何找到特定值属于哪个模式或过程、表和列?

Sql 如何找到特定值属于哪个模式或过程、表和列?,sql,oracle,plsql,Sql,Oracle,Plsql,我有一个9位数的数字,比如234234,有没有办法在我的数据库中查找或检查它的外观,比如它属于哪个特定的模式或过程?并列出在pl/sql developer中具有该值的所有表和列。此查询仅搜索允许用户访问过程、函数、包等的存储对象。。。。你可以参考 不确定是否有一种方法可以在所有数据库表中搜索该值 SELECT * FROM all_source WHERE text LIKE '%234234234%'; --AND owner = 'SCHEMA_NAME'; 下面的块标识给定字

我有一个9位数的数字,比如234234,有没有办法在我的数据库中查找或检查它的外观,比如它属于哪个特定的模式或过程?并列出在pl/sql developer中具有该值的所有表和列。此查询仅搜索允许用户访问过程、函数、包等的存储对象。。。。你可以参考

不确定是否有一种方法可以在所有数据库表中搜索该值

SELECT * 
FROM all_source
WHERE text LIKE '%234234234%';
    --AND owner = 'SCHEMA_NAME';

下面的块标识给定字符串在数据库中所有表中的存在

declare
    num_rows number;
    sql_text varchar2(250);
    sql_info varchar2(100);
begin
    dbms_output.enable(1000000);
    for x in (select table_name, column_name from dba_tab_columns
               where data_type in ('VARCHAR','VARCHAR2','CHAR')
                 and owner <> 'SYSTEM')
    loop
         sql_text:='select count(*) into :num_rows from SYSTEM.'||x.table_name||' where '||x.column_name||' like ''%234234234%''';
         -- dbms_output.put_line (sql_text);
         execute immediate sql_text into num_rows;
         if num_rows>0 
         then 
              sql_info:='Table: '||x.table_name||' contains the string';
              dbms_output.put_line (sql_info);
         end if;
    end loop;
end;
/
请特别参考PL/SQL代码以检查所有表中的给定值。