criação de trigger no oracle
Estou tentando criar uma trigger para que quando um registro seja deletado de uma determinada tabela seja guardado em uma tabela auxiliar de auditoria a informação de 3 colunas.
Ao rodar o script abaixo a trigger é criada mas não é compilada. Alguém pode me ajudar ???
CREATE OR REPLACE TRIGGER TRG_DEL_SMORCALOG
AFTER DELETE ON SMORCA
FOR EACH ROW
BEGIN
DECLARE
/VARIAVEIS/
IdLogin NUMBER(10);
V_OsUser VARCHAR2(30);
v_Machine VARCHAR2(64);
v_Program VARCHAR2(48);
v_LogonTime DATE;BEGIN
-- INCIANDO A GRAVAÇÃO DA TABELA DE LOGIN
SELECT
OSUSER ,
MACHINE,
PROGRAM,
LOGON_TIME
INTO
V_OsUser,
v_Machine,
v_Program,
v_LogonTime
FROM
V$SESSION
WHERE
AUDSID = USERENV('sessionid');
-- FAZER O INSERT DA SMCONTALOG_IDLOG
SELECT SEQ_SMORCA_IDLOG.NEXTVAL INTO IDLOGIN FROM DUAL;
INSERT INTO SMORCALOG
(
SMORCALOG_IDLOG,
SMORCALOG_OSUSER,
SMORCALOG_MACHINE,
SMORCALOG_PROGRAM,
SMORCALOG_LOGONTIME,
SMORCALOG_IDUSUARIO,
SMORCALOG_TPMV,
SMORCALOG_DATAMV,
SMORCALOG_ID,
SMORCALOG_IDPESSOA,
SMORCALOG_IDUSR
)
VALUES
(
IDLOGIN,
v_OSUSER,
v_MACHINE,
v_PROGRAM,
v_LOGONTIME,
Pkgsimah.IDUSUARIO,
'E',
SYSDATE,
:OLD.SMORCA_ID,
:OLD.SMORCA_IDPESSOA,
:OLD.SMORCA_IDUSR
);
END;
END TRG_DEL_SMORCALOG;Discussão (11)
Carregando comentários...