【问题标题】:Use dbms_output.put_line in Datagrip for .sql files在 Datagrip 中为 .sql 文件使用 dbms_output.put_line
【发布时间】:2018-09-11 09:52:22
【问题描述】:

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

SET serveroutput ON;

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

【问题讨论】:

  • 我不知道这是否真的是一个解决方案;但我显然可以通过打开数据库控制台并使用“启用 SYS.DBMS_OUTPUT”选项,然后使用我的文件附属控制台,将 DBMS_OUTPUT 与我的 .sql 文件一起使用。在 DB 控制台中执行某些操作可能需要也可能不需要实现此目的。
  • 或者...由于更新的版本 /shrug 自动完成

标签: oracle plsql datagrip dbms-output


【解决方案1】:

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

【讨论】:

  • 这仅适用于数据库控制台工具窗口,对吗?这对于具有 .sql 扩展名的文件是否可行?请再次阅读问题的第二部分
【解决方案2】:

我从 Prometheos II 获得了 commentJakob 好像也是这么说的。

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

步骤:

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

JetBrains 的设计欠佳,但它可以工作。

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

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

【讨论】:

  • 我在 Database Console (v. 2018.3) 中没有这个按钮
  • 如何在 2020.1.2 版本中执行此操作?
【解决方案3】:

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

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

【讨论】:

  • 再次阅读第二部分。问题在于运行 .sql 文件。
  • 当其他一切都失败时,LF,请正确阅读问题。抱歉,@Elliad,我试图让自己看起来比实际更聪明,但结果却很愚蠢.不,我不知道该怎么做。我使用 TOAD 或 SQL Developer;现在我安装了一个试用版的 DataGrip,只是为了看看它是什么以及它是如何工作的。在这么短的时间内,我没能找到你真正问题的答案。不过,我希望你会。祝你好运!
【解决方案4】:

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

你还需要用 begin end 包装它:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-29
    • 1970-01-01
    • 2021-10-16
    • 2020-06-06
    • 2017-09-08
    • 2018-11-27
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多