如何在 SQL Developer 中显示查询的完整结果?

Posted

技术标签:

【中文标题】如何在 SQL Developer 中显示查询的完整结果?【英文标题】:How to show the full result of the query in SQL Developer? 【发布时间】:2021-02-03 09:34:29 【问题描述】:

我想查看用于在 SQL Developer 中创建表 DOCTORS 的查询

SELECT dbms_metadata.get_ddl('TABLE', 'DOCTORS')
FROM dual;

然后它只显示查询的一部分。

DBMS_METADATA.GET_DDL('TABLE','DOCTORS')                                        
--------------------------------------------------------------------------------

  CREATE TABLE "C##AKIRA"."DOCTORS" 
   (    "CODED" NUMBER(2,0),  
    "NAMED" VARCHA 

我怀疑这是由于某些显示设置造成的。能否请您详细说明如何显示完整结果?

-- Drop tables if they already exist
BEGIN
    EXECUTE IMMEDIATE 'DROP TABLE works_in';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN
            RAISE;
        END IF;
END;
/

BEGIN
    EXECUTE IMMEDIATE 'DROP TABLE depends';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN
            RAISE;
        END IF;
END;
/

BEGIN
    EXECUTE IMMEDIATE 'DROP TABLE wards';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN
            RAISE;
        END IF;
END;
/

BEGIN
    EXECUTE IMMEDIATE 'DROP TABLE doctors';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN
            RAISE;
        END IF;
END;
/

-- Create the doctors database
CREATE TABLE doctors (
    coded       NUMBER(2),
    named       VARCHAR2(15),
    speciald    NUMBER(2),
    PRIMARY KEY (coded)
);

CREATE TABLE wards (
    codew       NUMBER(2),
    namew       VARCHAR2(15),
    coded       NUMBER(2),
    PRIMARY KEY(codew),
    FOREIGN KEY (coded) REFERENCES doctors (coded)
);

CREATE TABLE works_in (
    coded       NUMBER(2),
    codew       NUMBER(2),
    datewi      DATE,
    hourcount   NUMBER(2),
    PRIMARY KEY (coded, codew, datewi),
    FOREIGN KEY (coded) REFERENCES doctors (coded),
    FOREIGN KEY (codew) REFERENCES wards (codew)
);

CREATE TABLE depends (
    codew_parent        NUMBER(2),
    codew_child         NUMBER(2),
    PRIMARY KEY (codew_parent, codew_child),
    FOREIGN KEY (codew_parent) REFERENCES wards (codew),
    FOREIGN KEY (codew_child) REFERENCES wards (codew)
);

-- Show the schema of a table
SELECT dbms_metadata.get_ddl('TABLE', 'DOCTORS')
FROM dual;

【问题讨论】:

请注意,您也可以直接说,DDL 医生 .. 这将为您的餐桌提供 ddl @thatjeffsmith 我试过DDL doctors,但它返回错误ORA-00900: invalid SQL statement 您需要一个最新的 sqldev 副本,比如 18.1 或更高版本,然后使用脚本 (f5) 方法运行 非常感谢@thatjeffsmith。它在我的 SQL Developer 上运行良好,但在 Datagrip 上运行良好。 对,是客户端命令,不是数据库命令 【参考方案1】:

试一下

set long 1000000 longc 100000 pages 10000

在选择 dbms_metadata....之前 它告诉 sqldev(和 sqlplus/sqlcl 也是)获取 1MB 的数据,直到 10000 行之后才放入标头

【讨论】:

以上是关于如何在 SQL Developer 中显示查询的完整结果?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用嵌入式 html 修复 SQL Developer 报告的输出

如何设置让Oracle SQL Developer显示的时间包含时分秒

如何在 Oracle SQL Developer 中查询数据库名称?

如何在 Oracle SQL Developer 中执行超过 100 万条插入查询?

PL/SQL Developer 查询中程序停止响应

在 Oracle SQL Developer 中恢复未保存的 SQL 查询脚本