当仅存在表的部分名称时,从选项卡中搜索表的列表

时间:2014-05-05 11:53:16

标签: sql oracle

我想从tab中获取表的列表,但我只有表的部分名称: -

例如: - SELECT COLUMN_NAME1 FROM TABlE_NAME ;

这将返回一个数据列表:A,B,C,D

上述数据实际上是表格的一部分,如tableprefix_ A _tablesuffix。

我想要使用部分名称来自TAB或user_tables的这些表的列表。

2 个答案:

答案 0 :(得分:0)

如何使用like运算符加入两者:

SELECT u.table_name
FROM   user_tables
JOIN   table_name t ON u.table_name like '%' || t.column_name1 || '%'

答案 1 :(得分:0)

这应该没问题:

SELECT COLUMN_NAME1 PATTERN, U.TABLE_NAME
FROM TABLE_NAME T, USER_TABLES U
WHERE REGEXP_INSTR(U.TABLE_NAME, '(^|_)' || T.COLUMN_NAME1 || '($|_)') != 0

它会检索A_%%_A_%%_A等模式。