我需要以给定格式打印 pl/sql 中的数字吗?
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
你能告诉我如何在输出屏幕的同一行中打印下两个命令吗?
dbms_output.put_line(j);
dbms_output.put_line(j+1);
要在同一行上打印多个输出,请使用dbms_output.put
代替dbms_output.put_line
.
CAVEAT使用时dbms_output.put
,您必须在之后刷新缓冲区 - 否则,您的输出将不会出现在屏幕上。
您的原始问题可以通过使用两个 for 循环来解决:
begin
for i in 1 .. 10
loop
for j in 1 .. i
loop
dbms_output.put(to_char(j) || ' ');
end loop;
dbms_output.new_line;
end loop;
end;
您可以使用纯 SQL 而不是 PL/SQL 执行此操作,如下所示:
select to_char(sum(res) over(order by res)) as res
from ( select sum(power(10, level - 1)) over(order by level) as res
from dual
connect by level <= 5 )
结果:
RES
--------------------
1
12
123
1234
12345
To_char()
函数仅用于将结果左对齐。