【发布时间】:2023-12-26 11:15:01
【问题描述】:
一行没有被打印出来
DECLARE
R integer(10);
N varchar(20);
B VArchar(20);
Y VARCHAR(10);
A Integer(10);
E varchar2(10);
CURSOR s IS
SELECT RollNo,Name, Branch, Year, Attendance_Percentage, Event FROM N_ROLLCALL
WHERE branch='Comp' ORDER BY ROLLNO;
BEGIN
OPEN s;
LOOP
FETCH s INTO R,N,B,Y,A,E ;
EXIT WHEN s%notfound;
BEGIN
DBMS_OUTPUT.PUT_LINE(' ROLLNO:'||R||' NAME:'||N||' BRANCH:'||B||' YEAR:'||Y||' ATTANDANCE_PERCENTAGE:'||A||' EVENTS:'||E);
END;
END LOOP;
CLOSE s;
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
dbms_output.put_line('You have tried to insert a duplicate roll_no.');
WHEN OTHERS THEN
dbms_output.put_line ('An error has occurred inserting a roll_no.');
END;
我得到的输出
已插入 1 行。
0.01 秒
但是,当我的行多于一个具有分支 ='comp' 的行时,我想使用 dbms_output.put_line 打印的行不会被打印。如果只有一个这样的条目,那么它就会被打印出来。
【问题讨论】:
-
你用的是什么客户端?打印消息通常需要在客户端手动开启。
-
我是 oracle apex,我已经创建了一个表 n_rollcall。我想从“comp”分支打印学生的详细信息,但没有打印任何内容。
-
在调用此代码 nlock 之前,您是否从控制台发出了命令
SET SERVEROUTPUT ON。 -
其实我并没有在控制台上运行这段代码,我正在使用一个名为 apex oracle 的在线工具。
-
在 Apex 的哪里?它是 SQL Workshop,还是在您的某个应用程序/页面的进程中?
标签: oracle plsql oracle-apex