16

我开始将Datagrip用于需要使用DBMS_OUTPUT.PUT_LINE. 在此之前,我使用的是 Oracle SQL 开发人员,并且可以通过添加以下内容来使用 DBMS_OUTPUT:

SET serveroutput ON;

有一个相关问题显示了如何启用或禁用显示 DBMS_OUTPUT 缓冲区的内容,但这仅适用于数据库控制台工具窗口。如何将此应用于任何 .sql 文件?目前,我正在复制 .sql 文件的内容并在控制台工具窗口中运行它,但必须有更好的方法。

4

4 回答 4

22

在“输出”窗格中打开此设置:在此处输入图像描述

于 2018-04-02T08:26:57.577 回答
11

我支持 Prometheos II 的评论雅各布似乎也这么说。

您可能知道,.sql 临时文件必须与控制台相关联。您需要在关联的控制台中切换启用 SYS.DBMS_OUTPUT选项图标,并且在从关联的 .sql 文件执行时确实可以看到效果。

脚步:

  1. 打开你的 .sql 文件
  2. 将其与控制台关联
  3. 打开控制台并启用Enable SYS.DBMS_OUTPUT选项
  4. 返回到 .sql 文件并运行您的代码。您将能够在控制台输出中获得 DBMS_OUTPUT。

JetBrains 的次优设计,但它有效。

我的 IDE 版本:IntelliJ 2018.3 Ultimate(我认为 DataGrip 使用相同的代码)

在此处输入图像描述

由于代表人数少,无法对现有部分发表评论。因此,添加了一个新答案。

于 2019-04-23T14:42:54.893 回答
4

当一切都失败时,请阅读文档:为 Oracle 显示 DBMS_OUTPUT

对于 Oracle,您可以启用或禁用在输出窗格中显示 DBMS_OUTPUT 缓冲区的内容。为此,请使用数据库控制台工具窗口 (Ctrl+F8) 工具栏上的适当图标(LF 注释;无法引用该图像)。

于 2018-04-02T07:46:08.863 回答
0

这也适用于 DataGrip 中的 sql 文件。像 moscas 一样,您需要激活输出控制台切换按钮“启用 SYS.DBMS_OUTPUT”。

你还需要用 begin end 包装它:

begin
  dbms_output.put_line('test');
end;
于 2018-09-10T15:06:31.393 回答