Мне нужно напечатать числа в пл 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() Функция используется только для выравнивания результата по левому краю.

Другие вопросы по тегам