powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / DELETE_RECORD - как он работает ?
2 сообщений из 2, страница 1 из 1
DELETE_RECORD - как он работает ?
    #37782793
student42
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Проблема с удалением записи при цикле по всем записям в блоке!
Блок BLK_SALE_LIST базовый основан на таблице TBL_SALE_LIST. Структура блока следующая.
авторNO_SALE_DOC number
DOC_DESC varchar2(255)
PROPOGATION number

содержит следующие записи:
автор1 Реестр А12-01 1
2 Реестр А22-13 0
3 Реестр Н34-45 1
4 Реестр КН21-1 1
5 Реестр РП2-90 0

необходимо удалить распростаненные документы ( собственно если поле PROPOGATION = 1 нужно запись удалить).
Как сделал:

При старте формы:
Код: plsql
1.
2.
3.
4.
begin
  go_block('BLK_SALE_LIST');
  execute_query;
end;



Ниже приведен код который выполняется при нажатии кнопки:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
declare
begin
  go_block('BLK_SALE_LIST');
  first_record;
  while :SYSTEM.LAST_RECORD <> 'TRUE' 
    loop
      if :BLK_SALE_LIST.PROPOGATION = 1 then
        delete_record;
      else
        next_record;
      end if;
    end loop;
    -- если выделена последняя запись
    if :SYSTEM.LAST_RECORD = 'TRUE' and :BLK_SALE_LIST.PROPOGATION = 1 then
      delete_record;
    end if; 
end;



Удаляется запись #1 а на записи #3 уходит в бесконечный цикл.
Ребят помогите разобраться пожалуйста.
...
Рейтинг: 0 / 0
DELETE_RECORD - как он работает ?
    #37783416
bev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверила у себя - никакого зацикливания, все ОК.
Ищите зависание от других причин...

Вопрос не по теме : у вас поле PROPOGATION не базовое и заполняется юзером перед нажатием кнопки? (иначе зачем такое удаление, затратное по времени, проще сделать обычный delete, commit и execute_query;)
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / DELETE_RECORD - как он работает ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]