奇怪的dba | all_views文本列内容

时间:2016-04-13 12:09:33

标签: oracle

我需要为视图获取基础SELECT命令,但无法找到可靠的方法,因为数据字典对于某些(至少SYS)视图来说表现得很奇怪。

虽然TEXT_LENGTH值大于0,但很多视图在TEXT(LONG)列中都有NULL值。

奇怪的是,如果我添加WHERE text IS NULL,则不返回任何行,因此看起来该值实际上不为空。

Oracle版本为12.1.0.2。

HUSQVIK@orcl> SET NULL (null)
HUSQVIK@orcl> SET LONG 32767
HUSQVIK@orcl> SELECT text_length, text FROM dba_views WHERE view_name = 'USER_TAB_COLS_V$';

TEXT_LENGTH TEXT
----------- ----------------------------------------------------------------------------------------------------
       8051 (null)

1 row selected.

HUSQVIK@orcl> SELECT text_length, text FROM dba_views WHERE view_name = 'USER_TAB_COLS_V$' AND text IS NULL;

no rows selected

HUSQVIK@orcl>

我知道我可以使用dbms_utility.expand_sql_text函数(仅限Oracle 12),但我不想扩展使用其他使用X $表的视图的视图,因为只有在以SYS身份登录时才能访问它们。< / p>

0 个答案:

没有答案