问题标签 [dbms-output]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6648 浏览

c# - 如何在 C# 中获取 PL-SQL 块返回的 dbms.output 值

我正在尝试在 c# 中使用System.Data.OrcaleClient. 在 oracle 中执行 PL-SQL 块时,使用dbms.ouput.

我想dbms.ouput在我的 C# 代码中得到那个“”结果。

请帮忙。

0 投票
1 回答
4204 浏览

sql - 在 Oracle SQL 中输出到屏幕

我已经广泛搜索了如何在 Oracle SQL 中输出消息。我已经阅读了很多关于 dbms_output.put_line 和 dbms_output.get_line 的内容,并尝试使用这两种方法,但都无法正常工作。使用 Oracle SQL Developer 第 2 版。

0 投票
1 回答
75426 浏览

sql - 基本问题:基本的 PL/SQL 控制台输出?

我正在使用 SQL Developer,并希望使用 DBMS_OUTPUT.PUT_LINE() 将变量的内容输出到控制台。我正在运行以下代码,将数字 1 到 5 相加,但我没有看到任何输出。

此外,您是否知道比极其密集的 Oracle PL/SQL 文档更好的故障排除资源?【类似Java SE7 API?】

0 投票
8 回答
511754 浏览

plsql - DBMS_OUTPUT.PUT_LINE 不打印

执行以下代码时,它只是说程序已完成并且不打印我想要的信息(名字,姓氏),然后是下表中选择查询的其他值。

设置服务器输出时,我得到

多次!

0 投票
1 回答
9378 浏览

oracle - dbms_output.put() 的缓冲是否与 dbms_output.put_line() 不同?

我使用 Aqua Data Studio 通过分散输出语句来调试存储过程。

我在包中有一个违反完整性约束的删除语句:

正如预期的那样,我的 proc 在这一行出现 ORA-02292 失败。我想查看an_x_with_children变量的值。所以我用这样的输出换行:

并期望在违反完整性约束错误消息之前将消息视为消息控制台中的最后一件事。 但它不打印!

现在,如果我更改输出以使用如下put_line()过程:

我在 proc 出错之前立即看到消息“尝试删除 x:123”。

包的文档dbms_output没有提到putput_line过程在这方面的行为有任何不同。例如,它说

您使用 PUT 或 PUT_LINE 创建的输出被缓冲。

因此,我希望在 proc 错误时两者都显示输出,或者都不显示输出。

有人可以向我解释这种行为是怎么回事吗?

0 投票
1 回答
3839 浏览

sql - 在 Oracle Apex 中显示触发器 DBMS_OUTPUT.PUT_LINE

我有一个触发器:

每当用户输入可能导致过敏反应的处方时,它就会输出 DBMS_OUTPUT.PUT_LINE。但是,用户在 APEX 中创建条目 - 无论如何创建一个区域以在同一页面上显示此 DBMS_OUTPUT.PUT_LINE 消息?

0 投票
1 回答
371 浏览

.net - Oracle dotnet DBMS 输出查询

我正在.net 中运行一些代码,使用.net 中的oracleclient。SQL 代码可以使用 DBMS_PUT_LINE 函数输出许多响应,然后我通过调用 DBMS_GET_LINE 来检索这些响应。如果输出只是特定的文本行,即 'DBMS_OUTPUT.PUT_LINE('USER IS NOT AVAILABLE : PLEASE CONTACT SYSTEM ADMINISTRATOR');' 然后对 get_line 的调用工作正常,我得到了那个文本。但是,如果调用是输出 SQL 错误消息,'DBMS_OUTPUT.PUT_LINE(SQLERRM);' 然后我得到以下错误返回,'ORA-06502: PL/SQL: numeric or value error: hex to raw conversion error'

真正奇怪的是,如果我第二次运行完全相同的代码(包括关闭并重新连接到数据库),那么对 get_line 的调用将返回正在输出的实际错误消息。

我的代码基本上执行以下操作:

打开数据库连接 使用 executeNonQuery 运行 SQL 查询 创建输出参数,例如:

然后运行另一个 executeNonQuery 以获取输出。

然后用 .close() 关闭数据库

但在第二次运行时,它得到了正确的输出。我可能有一些东西我第一次没有正确设置?

有什么想法吗?我总是可以只运行两次代码,但这似乎非常低效。

0 投票
3 回答
144703 浏览

sql - 如何增加 dbms_output 缓冲区?

我试图通过调试我的动态查询,但似乎查询字符串对于缓冲区dbms_output来说太长了。dbms_output

我有 :

知道如何增加缓冲区大小吗?

0 投票
2 回答
5999 浏览

oracle - 使用 dbms_output 构建 SQL 脚本的 Oracle SQL 脚本

这可能是一个愚蠢的想法。我正在尝试编写一个 SQL*Plus .sql 脚本,我可以从 Windows 批处理文件中调用该脚本,该文件本身使用 dbms_output.put_line 生成一个新的 .sql 脚本。到目前为止,这就是我的脚本:

但是,当我这样做时,我new_script.sql只会说“PL/SQL 过程已成功完成”。 任何想法如何使dbms_out.put_line实际显示他们的信息?

而且我实际上并没有这样做来构建插入语句 - 这些只是一个简单的示例,显示了我正在尝试做的事情的要点。

0 投票
1 回答
260 浏览

oracle - 使用 dbms_output.put_line 检测最后一行

我很好奇如何编写这个过程。我正在使用集合对象从表中提取信息。然后我dbms_output.put_line用来显示我收集的值。

我想在输出的最后一行附加一行。例如:

表A

我提取值并用于dbms_output.put_line显示这些项目。

它会显示:

有没有办法将“这是最后一行”附加到收集/显示的最后一行以显示...

dbms_output.put_line在收集过程中, 我尝试在循环之后添加另一个,但它只是将其视为 2 行。