我需要以给定的格式打印pl sql中的数字?

时间:2013-10-29 11:21:42

标签: sql oracle plsql printform

我需要以给定的格式在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);

2 个答案:

答案 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;