Могу ли я изменить все значения столбцов в соответствии с основной таблицей в форме oracel - PullRequest
1 голос
/ 26 января 2020

Я создаю POS в oracle 11g. в форме продажи у меня есть две основные и дочерние таблицы, один столбец типа, который существует в этих таблицах, дочерняя таблица в табличном режиме имеет 10 строк. Теперь я должен знать, возможно ли, что после вставки 10 строк в дочернюю таблицу, когда я изменяю «тип» в основной таблице, также изменяются все значения в дочерней таблице в соответствии с основной таблицей. я пытаюсь элемент списка в основной таблице, но это только изменить текущие значения дочерней таблицы. Как я могу изменить все значения в дочерней таблице.

1 Ответ

1 голос
/ 26 января 2020

Как вы понимаете, есть два варианта:

Если изменения зафиксированы (т.е. и основные, и подробные строки хранятся в базе данных), вы можете обновить подробные строки как

update detail_table d set
  d.type = :master_block.type
  where d.foreign_key_column = :master_block.primary_key_item;

, а затем запросить подробный блок как

go_block('detail_block');
execute_query;

Другой способ - l oop через подробный блок и построчно изменять элементы:

go_block('detail_block');
first_record;
loop
  :detail_block.type := :master_block.type;
  exit when :system.last_record = 'true';
  next_record;
end loop;
...