SQL Developer版本21.2视图定义未显示。查看SQL不显示定义 [英] SQL developer version 21.2 view definition not displaying.view sql don't display definition

查看:44
本文介绍了SQL Developer版本21.2视图定义未显示。查看SQL不显示定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是SQL Developer版本21。(最近安装)无法从视图选项卡访问视图sqls/定义。我可以从";Details";选项卡中查看视图文本,但不能从";SQL";选项卡中查看。 我没有管理员权限。 同一用户可以查看sqldeveloper版本18中的视图sql.

推荐答案

在旧版本的SQL developer中,当dbms_METADATA.GET_DLL()不可用时,我们有一个"尝试生成DDL"方法。

这不是一个可维护的职位。"内部生成器"有多个问题,我们决定将其弃用。

为了查看对象的DDL,您的用户需要可以使用DBMS_METADATA包。

SQL Developer为获取视图的DDL而运行的内容约为:

SELECT
    dbms_metadata.get_ddl(
        'VIEW',
        :name,
        :owner
    )
FROM
    dual
UNION ALL
SELECT
    dbms_metadata.get_ddl(
        'TRIGGER',
        trigger_name,
        owner
    )
FROM
    dba_triggers
WHERE
        table_owner = :owner
    AND table_name = :name
UNION ALL
SELECT
    dbms_metadata.get_dependent_ddl(
        'COMMENT',
        table_name,
        owner
    )
FROM
    (
        SELECT
            table_name,
            owner
        FROM
            dba_col_comments
        WHERE
                owner = :owner
            AND table_name = :name
            AND comments IS NOT NULL
        UNION
        SELECT
            table_name,
            owner
        FROM
            sys.dba_tab_comments
        WHERE
                owner = :owner
            AND table_name = :name
            AND comments IS NOT NULL
    )

在开发环境中,开发人员应该拥有对其应用程序的完全访问权限,我将把这一点扩展到数据字典。这也是我提倡开发者拥有自己的私有数据库(Docker/VirtualBox/Cloud/诸如此类)的另一个原因。

如果失败,请咨询您的数据模型。

如果您没有数据模型,那是另一个问题。

如果此操作失败,您确实有解决办法,即检查视图的详细信息面板以获取基础SQL。

这篇关于SQL Developer版本21.2视图定义未显示。查看SQL不显示定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆