카테고리 없음
로깅 프로시저 (트랜잭션과 무관하게 기록)
Lawmin
2020. 8. 27. 11:41
CREATE TABLE TSQL.LOG_T
(
LOG_ID NUMBER,
LOG_SYS VARCHAR2(32 BYTE),
LOG_TYP VARCHAR2(32 BYTE),
LOG_MSG VARCHAR2(4000 BYTE),
LOG_DTM DATE
);
CREATE UNIQUE INDEX TSQL.LOG_T_PK ON TSQL.LOG_T(LOG_ID);
CREATE OR REPLACE PUBLIC SYNONYM LOG_T FOR TSQL.LOG_T;
ALTER TABLE TSQL.LOG_T ADD (
CONSTRAINT LOG_T_PK
PRIMARY KEY
(LOG_ID)
USING INDEX TSQL.LOG_T_PK
ENABLE VALIDATE);
GRANT SELECT ON TSQL.LOG_T TO PUBLIC;
CREATE SEQUENCE TSQL.LOG_S
START WITH 1
MAXVALUE 9999999999999999999999999999
MINVALUE 1
NOCYCLE
NOCACHE
ORDER;
CREATE OR REPLACE PROCEDURE TSQL.log_p(p_log_sys varchar2, p_log_typ varchar2, p_log_msg varchar2)
as
pragma autonomous_transaction;
begin
insert into log_t (log_id, log_sys, log_typ, log_msg, log_dtm)
values (log_s.nextval, p_log_sys, p_log_typ, p_log_msg, sysdate);
commit;
end;
/
GRANT EXECUTE ON TSQL.LOG_P TO PUBLIC;