Следующее работает на SQL Server, но я не смог перевести его на PL / SQL
PL / SQL:
create or replace TRIGGER CHANGE_TRIGGER
AFTER INSERT OR UPDATE OR DELETE
ON test
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO test_LOG
SELECT :NEW.* , SYSDATE, USER, 'I' FROM DUAL;
END IF;
END;
Исходный триггер SQL Server:
CREATE TRIGGER [dbo].[TRG_LOG_TEST] ON [dbo].[TEST]
FOR INSERT, UPDATE, DELETE
AS
DECLARE @lg_name VARCHAR(128)
SELECT
@lg_name = login_name,
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID
IF EXISTS (SELECT * FROM inserted)
BEGIN
INSERT INTO [TEST_LOG]
SELECT *, GETDATE(), @lg_name ,'I' from deleted
END