- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 pl/sql 中调试来计算程序的时间,我想使用:
SELECT systimestamp FROM dual INTO time_db;
DBMS_OUTPUT.PUT_LINE('time before procedure ' || time_db);
但我不明白输出到哪里以及如何将其重定向到包含我想要收集的所有数据的日志文件?
最佳答案
DBMS_OUTPUT
不是最好的调试工具,因为大多数环境本身并不使用它。但是,如果您想捕获 DBMS_OUTPUT
的输出,则只需使用 DBMS_OUTPUT.get_line
过程即可。
这是一个小例子:
SQL> create directory tmp as '/tmp/';
Directory created
SQL> CREATE OR REPLACE PROCEDURE write_log AS
2 l_line VARCHAR2(255);
3 l_done NUMBER;
4 l_file utl_file.file_type;
5 BEGIN
6 l_file := utl_file.fopen('TMP', 'foo.log', 'A');
7 LOOP
8 EXIT WHEN l_done = 1;
9 dbms_output.get_line(l_line, l_done);
10 utl_file.put_line(l_file, l_line);
11 END LOOP;
12 utl_file.fflush(l_file);
13 utl_file.fclose(l_file);
14 END write_log;
15 /
Procedure created
SQL> BEGIN
2 dbms_output.enable(100000);
3 -- write something to DBMS_OUTPUT
4 dbms_output.put_line('this is a test');
5 -- write the content of the buffer to a file
6 write_log;
7 END;
8 /
PL/SQL procedure successfully completed
SQL> host cat /tmp/foo.log
this is a test
关于oracle - 如何将 DBMS_OUTPUT.PUT_LINE 的输出重定向到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453538/
是否dbms_output.put_line降低 plsql 中的性能代码? 最佳答案 每多一行代码都会降低代码的性能。毕竟是额外要执行的指令,至少要消耗一些CPU。所以是的,dbms_output.
我正在尝试编写一个基本的 PL/SQL For 循环,但一直出现错误。我的声明是: begin for tab_x in (select unique table_name from al
我无法编译这个程序,因为它似乎没有在 Put_Line 方法中打印整数变量和字符串。我在网上查看了源代码,当他们这样做时它可以工作,所以我哪里出错了。谢谢你的帮助。 with Ada.Text_IO;
执行以下代码时,它只是表示该过程已完成,并且不会打印我想要的信息(firstName、lastName),然后打印下表中选择查询中的其他值。 CREATE OR REPLACE PROCEDURE
我正在尝试将传递给 DBMS_OUTPUT.PUT_LINE() 函数的值打印到 SQL Developer 中的 DBMS_OUTPUT 屏幕。无论我向函数传递什么,输出窗口中都不会打印任何内容。
我试图右对齐某些 PL/SQL 代码的输出,但 dbms_output.put_line 正在修剪字符串中的前导空格。我如何让它停止?或者有没有更好的方法来输出带有前导空格的字符串? dbms_out
我需要在 pl/sql 中调试来计算程序的时间,我想使用: SELECT systimestamp FROM dual INTO time_db; DBMS_OUTPUT.PUT_LINE('time
我使用以下代码执行导出数据泵。 set serveroutput on; DECLARE ind NUMBER; -- Loop index h1 NUMBER;
我创建了一个包含大量数据的 xml。现在我正在尝试将生成的 xml 写入文件。 声明: prodFeed_file UTL_FILE.FILE_TYPE; prodFeed_file := UTL_
Ada 是否支持类似于字符串中 Obj-C 变量的东西? NSLog(@"This is text, here's a variable %f", floatvar); 我想写出漂亮的单行代码,例如:
我遇到了一个奇怪的问题,它似乎与存储过程中的 CURSOR FOR Loops 非常相关。为清楚起见,我在 DBeaver 中使用 Oracle,并试图遍历表中的所有列并打印出 select 语句的结
此代码可以编译,但在 TOAD 中不会显示“hi wo”输出 CREATE OR REPLACE PROCEDURE AdelTest IS tmpVar NUMBER; BEGIN DBMS_O
我在我的数据库中创建了一个触发器,我遇到了两个我无法修复的错误,我很确定这两个与我对 DBMS_OUTPUT.PUT_LINE 的使用有关, 语句的其余部分不会导致任何错误,尽管它之前有过。 错误:
我需要向 C# 返回一个变量 oracle,但是我使用 Dapper,所以是否存在一种通过 dapper 接收输出的方法? 我试过这样 ORACLE ... ,NULL
我有一个带有变量 的 pl/SQL 查询。我想要 DBMS_OUTPUT.PUT_LINE 到机器上使用的文件 (linux)有人知道怎么做吗? 最佳答案 你需要把一些碎片放在一起。这是我的灵感:DB
我使用 Aqua Data Studio 通过分散输出语句来调试存储过程。 我在包中有一个删除语句,它违反了完整性约束: DELETE FROM x WHERE x.ID = an_x_with_ch
简单的问题,是否可以在问题标题中为输出函数提供别名,以便我可以调用类似 trace('hello') 而不是 DBMS_OUTPUT.PUT_LINE('hello') 之类的东西? 我想要这个,因为
我有一个在spool中生成表格的过程: create procedure..... ...... loop ... dbms_output.put_line(p_taskno||' '||p_de
有没有其他人注意到 dbms_output.put_line 无法一次打印超过 2000 个字符的现象? 脚本是: set serveroutput on size 100000; declare
在 UNIX 中,在 SQL 脚本中,我有以下代码: LOOP DBMS_OUTPUT.put_line (p_key||'|'||p_loc||'\n'); END LOOP 输出是
我是一名优秀的程序员,十分优秀!