Я хочу иметь таблицу «updateinfo» для записи каждой операции обновления / вставки / удаления в другую таблицу.
В оракуле я написал это:
CREATE TABLE updateinfo (номер NUMBER (10), имя таблицы VARCHAR2 (100 байт), действие VARCHAR2 (100 байт), дата UPDATE_DATE)
DROP TRIGGER TRI_TABLE;
СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ТРИГГЕР TRI_TABLE
ПОСЛЕ УДАЛЕНИЯ ИЛИ ВСТАВКИ ИЛИ ОБНОВЛЕНИЯ
ПО демо
ССЫЛКА НОВЫЙ, КАК НОВЫЙ, СТАРЫЙ, КАК СТАРОЙ
ДЛЯ КАЖДОГО РЯДА
НАЧАТЬ
если вставить то
вставить в updateinfo (номер, имя таблицы, действие, update_date) значения (rownum, 'demo', 'insert', sysdate);
elsif обновление тогда
вставить в updateinfo (номер, имя таблицы, действие, update_date) значения (rownum, 'demo', 'update', sysdate);
elsif удаляя то
вставить в updateinfo (номер, имя таблицы, действие, update_date) значения (rownum, 'demo', 'delete', sysdate);
конец если;
- ИСКЛЮЧЕНИЕ
- КОГДА ДРУГИЕ ТОГДА
- Рассмотрите возможность регистрации ошибки, а затем повторно поднимите
- ПОДНЯТЬ;
END TRI_TABLE;
но при проверке updateinfo весь столбец rnumber равен нулю.
в любом случае, чтобы получить правильный номер строки?