view - 在 View 中搜索文本

标签 view plsql toad

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

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

但它似乎不适用于 VIEW。

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

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

最佳答案

在表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%';

关于view - 在 View 中搜索文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40800876/

相关文章:

iOS 自动布局约束和框架不起作用

sql - 在 SQL 中使用窗口函数对空记录进行分组

xml - Oracle 能否在本地文件系统上使用 XSD 模式验证 XML?

sql - 我写了一个触发器,但不起作用。我错过了什么吗?

Oracle PL/SQL - 如何创建简单的数组变量?

mysql - 如何比较和应用 toad for mySQL 中的更改

oracle - 如何使用toad将数据从一个数据库/表复制到oracle中的另一个数据库/表

sql - PostgreSQL 更新未按预期工作

mysql - sql内连接查看表

oracle - 在 TOAD for Oracle 中自动插入表的列名