Если в вашей БД нет технических столбцов — вы играете на авось.
Кто создал? Кто удалил? Почему не работает? Где следы?
Без этих ответов вы не владеете своей системой. Минимальный набор "технической гигиены": Именовать столбцы вы можете по-другому, главное - название предавало назначение столбца -- Таблица customers CREATE TABLE demo_customers ( customer_id NUMBER PRIMARY KEY, name VARCHAR2(100), region VARCHAR2(50), created_at DATE DEFAULT SYSDATE, created_by NUMBER, modified_at DATE, modified_by NUMBER, is_active CHAR(1) DEFAULT 'Y' CHECK (is_active IN ('Y', 'N')), deleted_at DATE, deleted_by NUMBER ); Тот же принцип работает и для продуктов ("demo_products"), и для заказов ("demo_orders"). Всё в исходниках на GitHub. Удалённое — не значит потерянное В "demo_orders" заказ с "is_active = 'N'" — всё ещё в базе. Ничего не теряется: просто исключается из бизнес-логики. Пример: Клиент потребовал восстановить заказ — не проблема Решение: UPDATE demo_orders SET is_active = 'Y' WHERE o