I'm trying to creating trigger on Oracle 12c. I'm using this trigger to capture the last query syntax on table "TEST" after update to store it in "TEST_LOL" table. But there error say "Error(6,3): PL/SQL: SQL Statement ignored" and "Error(6,106): PL/SQL: ORA-00942: table or view does not exist".
This is my trigger code:
CREATE OR REPLACE TRIGGER TRIGGER1
AFTER UPDATE ON TEST
DECLARE
original_query varchar2(500);
BEGIN
select sql_text into original_query
from v$sql
where first_load_time=(select max(first_load_time) from v$sql);
INSERT INTO TEST_LOL (ACTION) VALUES (original_query);
END;
Apparently there some error on syntax select sql_text into original_query from v$sql where first_load_time=(select max(first_load_time) from v$sql);
It runs perfectly when I run it without trigger.
Example, when I run this query code :
"UPDATE TEST SET name='indra' WHERE id =1"
then I run the capture query code :
select sql_text from v$sql where first_load_time=(select max(first_load_time) from v$sql) ;
Then it perfectly return the last query :
"UPDATE TEST SET name='indra' WHERE id =1"
Is there something wrong I'm missing ? Please help. Thank You