Запись нужно удалить, но данные терять не хочется - что делать? Нужно ввести в таблицу дополнительную колонку-выключатель, например так: alter table my_tab
add is_active number
default 1
; Обычно мы используем не менее двух схем (пользователей) базы данных: Односхемное решение, когда среднему слою (PHP, APEX, иные среды Web программирования) дается доступ прямо к таблицам, мы не рассматриваем. Так поступать просто нельзя. Соответственно, мы оборачиваем таблицы схемы-владельца представлениями, на которые выдаем схеме-публикации необходимые права: create view my_vi
as
select column_1, column_2 ...
from my_tab
;
grant select, insert, update on my_vi to <имя_схемы_публикации>
; После добавления в исходную таблицу my_tab поля-выключателя is_active нам достаточно добавить в экранирующее представление условие проверки состояния этого выключателя: create view my_vi
as
select column_1, column_2 ...
from my_tab
where is_active = 1
; После этого в процедуре/процессе удаления записи физический