Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Долго выполняется процедура  [new]
Maximchi40
Member

Откуда:
Сообщений: 67
create or replace function sorts (str in varchar2)
return varchar2
is
i number;
temp_string varchar2(200);
begin
loop
i:=i+1;
if (i<=length(str)) then
temp_string:=temp_string||substr(str,i,1);
--return (temp_string||'=');
dbms_output.put_line (temp_string);
end if;
EXIT WHEN (i >= length(str));
end loop;
return (temp_string);
end sorts;

почему-то долго выпоняется. Цель: вывести строку поэлементно.
17 фев 17, 09:49    [20220118]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется процедура  [new]
Maximchi40
Member

Откуда:
Сообщений: 67
Может кто помочь?
17 фев 17, 09:58    [20220140]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется процедура  [new]
Бельфя
Member

Откуда:
Сообщений: 43
Maximchi40,

i number:=0;
17 фев 17, 10:05    [20220158]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется процедура  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 17283
Maximchi40
почему-то долго выпоняется
подозреваю, что она вообще не заканчивается
+
tst> set serveroutput on
tst> declare i number;
  2          n number := 1;
  3  begin loop
  4          i := i+1;
  5          n := n+1;
  6          exit when i > 10;
  7          exit when n > 20;
  8        end loop;
  9        dbms_output.put_line('i="'||i||'"');
 10        dbms_output.put_line('n="'||n||'"');
 11  end;
 12  /
i=""
n="21"

PL/SQL procedure successfully completed.
17 фев 17, 10:09    [20220170]     Ответить | Цитировать Сообщить модератору
 Re: Долго выполняется процедура  [new]
Maximchi40
Member

Откуда:
Сообщений: 67
Бельфя, спасибо. Было очевидно))
17 фев 17, 10:10    [20220174]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить