我正在执行一项活动,以根据特定模式 (@xyz.de) 识别电子邮件地址。我最初尝试检查 DBA_TAB_COLS [数据字典] 视图,但这只是查找 email 列名,我需要手动检查大表列表。除了这样做,是否有更有效的方法来获取模式值 @xyz.de
?
数据库 - oracle 11g
使用的查询
SET SERVEROUTPUT ON 100000
DeclARE
lv_count number(10):=0;
l_str varchar2 (1000);
lv_col_name varchar2(255) :='EMAIL';
BEGIN
FOR V1 IN
(select distinct table_name
from dba_tab_columns
where column_name = lv_col_name
order by table_name)
LOOP
dbms_output.put_line(lv_col_name||' '||v1.table_name);
END LOOP;
END;
请注意
- 我不完全知道表名或列名。
- 值
@xyz.de
可以在任何架构、任何表和任何列中。必须以有效的方式识别这一点。
有什么建议吗?
我已经使用上面的块查询来获取电子邮件列和表名,但是如何通过使用动态 sql 搜索特定值 @xyz.de 来实现?