我正在寻找在oracle所有表和列中搜索字符串/数字的解决方案。
我在网上查了一下,可以找到很多解决方案。
但是当我在SQL Oracle开发人员中执行下面的解决方案时,它会创建一个匿名阻止。
任何人都可以帮助我如何在Oracle中使用以下解决方案来获得结果。
DECLARE
match_count integer;
v_search_string varchar2(4000) := <<string you want to search for>>;
BEGIN
FOR t IN (SELECT owner, table_name, column_name FROM all_tab_columns) LOOP
EXECUTE IMMEDIATE
'SELECT COUNT(*) FROM '||t.owner || '.' || t.table_name||
' WHERE '||t.column_name||' = :1'
INTO match_count
USING v_search_string;
IF match_count > 0 THEN
dbms_output.put_line( t.owner || '.' || t.table_name ||' '||t.column_name||' '||match_count );
END IF;
END LOOP;
END;
/
请帮助我,因为我是Oracle新手。
先谢谢
答案 0 :(得分:0)
首先执行
Set serveroutput on;
然后执行你的匿名阻止。
答案 1 :(得分:0)
单击SQL Developer中的视图和DBMS输出。 在这一刻,您可以看到结果PL / SQL块。