- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
执行以下代码时,它只是表示该过程已完成,并且不会打印我想要的信息(firstName、lastName),然后打印下表中选择查询中的其他值。
CREATE OR REPLACE PROCEDURE PRINT_ACTOR_QUOTES (id_actor char)
AS
CURSOR quote_recs IS
SELECT a.firstName,a.lastName, m.title, m.year, r.roleName ,q.quotechar from quote q, role r,
rolequote rq, actor a, movie m
where
rq.quoteID = q.quoteID
AND
rq.roleID = r.roleID
AND
r.actorID = a.actorID
AND
r.movieID = m.movieID
AND
a.actorID = id_actor;
BEGIN
FOR row IN quote_recs LOOP
DBMS_OUTPUT.PUT_LINE('a.firstName' || 'a.lastName');
end loop;
END PRINT_ACTOR_QUOTES;
/
当设置服务器输出时,我得到
a.firstNamea.lastName
a.firstNamea.lastName
a.firstNamea.lastName
a.firstNamea.lastName
多次!
最佳答案
“它只是说程序已完成”语句中的“it”是什么?
默认情况下,大多数工具不会为 dbms_output
配置写入缓冲区,并且在代码执行后不会尝试从该缓冲区读取数据。另一方面,大多数工具都有能力这样做。在 SQL*Plus 中,您需要使用命令 set serveroutput on [size N|unlimited]
。所以你会做类似的事情
SQL> set serveroutput on size 30000;
SQL> exec print_actor_quotes( <<some value>> );
在 SQL Developer 中,您可以转到 View | DBMS 输出
以启用 DBMS 输出窗口,然后按绿色加号图标以启用特定 session 的 DBMS 输出。
此外,假设您不想为每一行打印文字“a.firstNamea.lastName”,您可能需要
FOR row IN quote_recs
LOOP
DBMS_OUTPUT.PUT_LINE( row.firstName || ' ' || row.lastName );
END LOOP;
关于plsql - DBMS_OUTPUT.PUT_LINE 不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10434474/
我使用 Aqua Data Studio 通过分散输出语句来调试存储过程。 我在包中有一个删除语句,它违反了完整性约束: DELETE FROM x WHERE x.ID = an_x_with_ch
这两种说法有什么区别? dbms_output.new_line(); // with no parameters. dbms_output.new_line; // with no param
This question already has answers here: DBMS_OUTPUT.PUT_LINE not printing (7个答案) 5年前关闭。 当执行以下代码时,它仅表
是否dbms_output.put_line降低 plsql 中的性能代码? 最佳答案 每多一行代码都会降低代码的性能。毕竟是额外要执行的指令,至少要消耗一些CPU。所以是的,dbms_output.
我尝试在存储过程中将 dbms_output 大小设置为无限制。 但是它给了我编译错误。所以我在 SQL*Plus 提示符下尝试了以下方法。但我仍然收到缓冲区溢出错误。我该如何克服这个问题? set
尤其是没有 256 个最大字符/行的和 1000000 最大字符/缓冲区限制。 最佳答案 也许这些选项之一会满足您的需求(取决于您是在服务器端还是客户端编写内容): UTL_FILE TEXT_IO
我使用的是 dbeaver 版本 5.1.3。当我对 oracle pl/sql 使用 DBMS_OUTPUT.PUT_LINE 方法时,它的输出不会在任何地方显示。它有一个输出选项卡。它也是空白的。
我需要在 dbms_output 语句中包含单引号。我试过这个: dbms_output.put_line('\''first_name||'\''); 这里的first_name是变量;我需要在单
我正在尝试编写一个基本的 PL/SQL For 循环,但一直出现错误。我的声明是: begin for tab_x in (select unique table_name from al
执行以下代码时,它只是表示该过程已完成,并且不会打印我想要的信息(firstName、lastName),然后打印下表中选择查询中的其他值。 CREATE OR REPLACE PROCEDURE
我需要将循环的输出假脱机到文件中。我的代码如下: set termout off set echo off set colsep '' set linesize 5000 s
我正在尝试将传递给 DBMS_OUTPUT.PUT_LINE() 函数的值打印到 SQL Developer 中的 DBMS_OUTPUT 屏幕。无论我向函数传递什么,输出窗口中都不会打印任何内容。
我试图右对齐某些 PL/SQL 代码的输出,但 dbms_output.put_line 正在修剪字符串中的前导空格。我如何让它停止?或者有没有更好的方法来输出带有前导空格的字符串? dbms_out
我正在学习游标,但无法在 dbms_output.put_line(); 代码是 DECLARE CURSOR c_employees_3i is SELECT * FROM employees_3i
我需要在 pl/sql 中调试来计算程序的时间,我想使用: SELECT systimestamp FROM dual INTO time_db; DBMS_OUTPUT.PUT_LINE('time
我正在尝试在 SQL Developer 中编写 PL/SQL 代码,但它没有显示输出。我的程序编译成功。这是代码: set serveroutput on declare begin dbm
这个问题在这里已经有了答案: Print debugging info from stored procedure in MySQL (5 个答案) 关闭 9 年前。 我尝试编写一个 MySQL 存
我使用以下代码执行导出数据泵。 set serveroutput on; DECLARE ind NUMBER; -- Loop index h1 NUMBER;
我遇到了一个奇怪的问题,它似乎与存储过程中的 CURSOR FOR Loops 非常相关。为清楚起见,我在 DBeaver 中使用 Oracle,并试图遍历表中的所有列并打印出 select 语句的结
我在我的数据库中创建了一个触发器,我遇到了两个我无法修复的错误,我很确定这两个与我对 DBMS_OUTPUT.PUT_LINE 的使用有关, 语句的其余部分不会导致任何错误,尽管它之前有过。 错误:
我是一名优秀的程序员,十分优秀!