Как я могу сделать "мягкое удаление" в Oracle Apex - PullRequest
0 голосов
/ 26 февраля 2019

как мне сделать "мягкое удаление" - и добавить скрытый столбец удаленных.И вместо того, чтобы фактически удалять записи, пометьте их как удаленные.Таким образом, вы можете увидеть, где удалено = 1, чтобы увидеть удаленные строки.В противном случае используйте где удалено = 0

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Вы можете использовать вместо триггеров и представление.Вы бы позволили Apex выполнять его операции (вставка, обновление, удаление) в представлении вместо таблицы.Вместо триггеров изменения будут перенесены затем в реальную таблицу так, как вам нравится.Я использую этот механизм с вершиной для реализации механизма истории.Просто поищите в Интернете пример вместо триггеров ...

0 голосов
/ 26 февраля 2019

Вместо удаления нужно обновить какой-то столбец в этой строке и установить (например) cb_deleted = 1.Чтобы сделать это, вам нужно написать свою собственную процедуру обработки (потому что Apex действительно удалит эту строку в противном случае).

Для просмотра добавьте элемент (радиокнопка будет в порядке), чтобы показать удаленный(это значение будет 1) или "активные" (значение = 0) строки.

Запрос отчета будет выглядеть как

select ...
from that_table
where cb_deleted = :P1_RB_DELETED
...