在 Datagrip 中对 .sql 文件使用 dbms_output.put_line

Use dbms_output.put_line in Datagrip for .sql files

我开始将 Datagrip 用于需要使用 DBMS_OUTPUT.PUT_LINE 的 PL/SQL(学校)项目。在此之前,我使用的是 Oracle SQL 开发人员,我可以通过添加以下内容来使用 DBMS_OUTPUT:

SET serveroutput ON;

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

当其他一切都失败时,请阅读文档:Showing DBMS_OUTPUT for Oracle:

For Oracle, you can enable or disable showing the contents of the DBMS_OUTPUT buffer in the output pane. To do that, use the apropriate icon (note by LF; can't reference that image) on the toolbar of the Database Console tool window (Ctrl+F8).

在“输出”窗格中启用此设置:

这也适用于 DataGrip 中的 sql 文件。就像 moscas 写的那样,你需要激活输出控制台切换按钮 'Enable SYS.DBMS_OUTPUT'。

你还需要用 begin end 包裹它:

begin
  dbms_output.put_line('test');
end;

我秒了 from Prometheos II. 好像也是这么说的

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

步骤:

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

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

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

由于代表率低,无法对现有版块发表评论。因此,添加了一个新答案。

所有正在阅读此版本 > 2021.1

的人

您可以在连接属性中启用输出。 Source

终于找到了!之前的回答没有读到intelij的问答,而是datagrip,它们的界面完全不同。

对于2021.1,右键单击服务中的控制台列表window,右键单击时应该有一个启用DBMS_OUTPUT。