在视图中搜索文本

Search text in View

通常我使用这个查询来查找存储过程文本中的字符串:

SELECT *
  FROM ALL_SOURCE a
 where UPPER(A.TEXT) like UPPER('%text%')

但它似乎不适用于VIEW。

我尝试使用 ALL_VIEW table 但没有包含文本的字段(OID_TEXT)。

是否有在 View 的文本中查找单词的查询?

在 table all_views 中,文本列的数据类型为 long。您不能直接搜索 LONG。 LONG 不能出现在 WHERE 子句中。它们可以出现在 SELECT 列表中,因此您可以使用它来缩小您必须检查的行数。

Oracle 建议至少在过去的 2 个版本中将 LONG 转换为 CLOB。

先将LONG类型的列转换成CLOB类型,然后使用like条件,例如:

create table tbl_clob as
select to_lob(long_col) lob_col 
from tbl_long;

select * 
from tbl_clob 
where lob_col like '%form%';