我需要以给定的格式在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);
答案 0 :(得分:1)
您可以在纯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()
函数仅用于将结果与左对齐。
答案 1 :(得分: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;