Мне нужно напечатать числа в пл sql в заданном формате?
Мне нужно печатать числа в 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 ответа
Решение
Чтобы напечатать несколько выходов на одной строке, используйте dbms_output.put
вместо dbms_output.put_line
,
ПРЕДУПРЕЖДЕНИЕ При использовании 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()
Функция используется только для выравнивания результата по левому краю.