Я работаю над формой Oracle (10g), которая имеет два блока на одном холсте. Верхний блок называется QUERY_BLOCK, который пользователь заполняет, чтобы заполнить PRICING_BLOCK строками данных.
Однако в QUERY_BLOCK у меня также есть флажок, который должен выполнять INSERT и DELETE в базе данных соответственно. Мой триггер WHEN-CHECKBOX-CHANGED выглядит так:
begin
if :query_block.profile_code is not null then
if :query_block.CHECKBOX_FLAG = 'Y' then
begin
INSERT INTO profile_table VALUES ('Y', :query_block.profile_code);
end;
else
begin
DELETE FROM profile_table WHERE profile_code = :query_block.profile_code and profile_type_code = 'FR';
end;
end if;
end if;
end;
Я знаю, что мне нужно добавить здесь какой-то оператор фиксации, иначе запись блокируется, и на самом деле ничего не происходит. Однако, если я сделаю COMMIT; затем вся форма проходит проверку и обновляет все измененные строки.
Как мне выполнить эти однострочные запросы без обновления остальной части моей формы?