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

时间:2015-07-19 22:12:11

标签: sql oracle view sqlplus

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

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

只会给我前几个字

sql developer有一个标签,我只是想知道是否有办法从sqlplus的命令行执行此操作。

1 个答案:

答案 0 :(得分:2)

默认情况下,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才能显示有用的输出量;如果模式不在您的模式中,请使用第三个参数指定模式。