我如何找到视图的创建方式?

how do I find how a view was created?

如何找出在 oracle sql 中创建视图所用的文本,尤其是如何找出可能隐藏了哪些列?

select view_name, text from all_views where viewname = 'XYZ';

只会给我前几个字

sql 开发人员为此提供了一个选项卡,我只是想知道是否有办法从 sqlplus.

中的命令行执行此操作

默认情况下SQL*Plus 仅显示 long 和 clob 列的前 80 个字符。你可以做 set long 32767(或其他一些大数字;30000 似乎很常见,我 认为 来自旧版本的限制是 32K 并且更容易输入,但是它现在是 2M)并重新发出您的查询。

您还可以使用 the dbms_metadata package 获取视图 DDL,如果它是您的视图(在您的架构中)或者您具有 select catalog 角色。

select dbms_metadata.get_ddl('VIEW', 'XYZ')

您还需要执行 set long 以显示有用的输出量;并使用第三个参数指定架构(如果它不在您的架构中)。