sqlplus /
as
sysdba
@?/rdbms/admin/utlsmtp.sql
@?/rdbms/admin/prvtsmtp.plb
@?/rdbms/admin/utlmail.sql
@?/rdbms/admin/prvtmail.plb
GRANT
EXECUTE
ON
UTL_MAIL
TO
PUBLIC
;
ALTER
SESSION
SET
CURRENT
SCHEMA
=myschema;
CREATE
OR
REPLACE
TRIGGER
myschema.mytrigger
AFTER
DELETE
ON
myschema.mytable REFERENCING NEW
AS
NEW OLD
AS
OLD
FOR
EACH ROW
begin
EXECUTE
IMMEDIATE
'ALTER SESSION SET smtp_out_server = '
'127.0.0.1'
''
;
UTL_MAIL.send(sender =>
'mysender@company.com'
,
recipients =>
'myrecipient1@company.com'
,
cc =>
'myrecipient2@company.com'
,
subject =>
'Myapplication: A row has been deleted in the table mytable'
,
message =>
'A row has been deleted in the table mytable.'
|| utl_tcp.CRLF || utl_tcp.CRLF ||
' Customer informations: '
|| utl_tcp.CRLF ||
' Name: '
|| :old.
Name
|| utl_tcp.CRLF ||
' Country : '
|| :old.COUNTRY || utl_tcp.CRLF || utl_tcp.CRLF ||
' Technical informations: '
|| utl_tcp.CRLF ||
' DB Name: '
|| SYS_CONTEXT(
'USERENV'
,
'DB_NAME'
) || utl_tcp.CRLF ||
' OS USER: '
|| SYS_CONTEXT(
'USERENV'
,
'OS_USER'
) || utl_tcp.CRLF ||
' Session ID: '
|| SYS_CONTEXT(
'USERENV'
,
'SESSIONID'
) || utl_tcp.CRLF ||
' Session User: '
|| SYS_CONTEXT(
'USERENV'
,
'SESSION_USER'
) || utl_tcp.CRLF ||
' IP Address: '
|| SYS_CONTEXT(
'USERENV'
,
'IP_ADDRESS'
) || utl_tcp.CRLF ||
' Terminal: '
|| SYS_CONTEXT(
'USERENV'
,
'TERMINAL'
) || utl_tcp.CRLF ||
' Is DBA: '
|| SYS_CONTEXT(
'USERENV'
,
'ISDBA'
) ,
mime_type =>
'text; charset=us-ascii'
);
end
;
/
No hay comentarios:
Publicar un comentario