Я создаю таблицу, которая принимает имя таблицы / представления, дату создания и имя создателя, как только таблица будет построена. Я написал триггер для того же, который использует оператор вставки и получает необходимые данные из user_objects, user_tables и v $ session. Однако при запуске триггера появляется ошибка «PL / SQL: ORA-00942: таблица или представление не существует».
CREATE OR REPLACE TRIGGER CREATE_TRIGGER
AFTER CREATE ON SCHEMA
BEGIN
INSERT INTO NEW_OBJ_TRACKER (TBL_OR_VW_NAME, CREATED_DATE_TIME, LAST_QUERIED_DATE, CREATOR)
SELECT T4.* , T5.* FROM
(
SELECT OBJECT_NAME, CREATED, LAST_ANALYZED
FROM SYS.USER_OBJECTS T1 LEFT JOIN SYS.USER_TABLES T2
ON T1.OBJECT_NAME = T2.TABLE_NAME
ORDER BY CREATED DESC
) T4,
(
SELECT OSUSER
FROM SYS.v$session
ORDER BY SQL_EXEC_START
) T5
WHERE ROWNUM = 1
;
END;
/
Когда я запускаю только оператор вставки, я не получаю ошибки, и результаты в порядке.