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

  显示原文与译文双语对照的内容
76 4

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

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

Table A


col1 col2 
1 3 
2 4 

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

它将显示:

 
1,3 
2,4

 

是否可以将"这是最后一条"附加到要显示的最后一行/显示的行。


1,3 
2,4 This is the last line

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


1,3 
2,4 
This is the last line. 

时间: 原作者:

113 3

实现这里目的的方法之一是在之前插入一行一行文本- 除第一行。


create table taba(
 col1 number,
 col2 number
);
insert into taba values (1,2);
insert into taba values (3,4);
commit;

declare
 type tab_t is table of taba%rowtype;
 tab tab_t;
 cursor c is select * from taba;
 first_row boolean;
begin
 open c;
 fetch c bulk collect into tab;
 close c;

 first_row := true;
 for x in 1..tab.count loop
 if not first_row then
 dbms_output.put_line('');
 end if;
 first_row := false;
 dbms_output.put( tab( x ).col1 || ',' || tab( x ).col2 );
 end loop;
 if not first_row then
 dbms_output.put_line(' This is the last line');
 else
 dbms_output.put_line('The table is empty');
 end if;
end;
/

结果:


1,2
3,4 This is the last line

原作者:
...