Log - Tabelle anlegen DDL
E Möglichkeit es eigenigs Logging z'mache
BEGIN
X.INSTALL#.ORACLE#DROP(
I_OWNER => 'K'
,I_NAME => 'RBSC$LOG_CONFIG'
,I_TYPE => 'TABLE'
);
X.INSTALL#.ORACLE#CREATE(
''
,'RBSC$LOG_CONFIG'
,'TABLE'
,'CREATE TABLE K.RBSC$LOG_CONFIG
(
LOGGER VARCHAR2(80) NOT NULL,
LOG_LEVEL VARCHAR2(10) NOT NULL,
CONSTRAINT RBSC$LOG_CONFIG#P PRIMARY KEY (LOGGER)
)'
);
X.INSTALL#.ORACLE#CREATE(
''
,'RBSC$LOG_CFG'
,'CONTEXT'
,'CREATE CONTEXT RBSC$LOG_CFG
USING RBSC$LOG#
ACCESSED GLOBALLY'
);
X.INSTALL#.ORACLE#CREATE(
''
,'RBSC$LOG_CONFIG#UPSERT'
,'TRIGGER'
,'CREATE OR REPLACE TRIGGER K.RBSC$LOG_CONFIG#UPSERT
BEFORE INSERT OR UPDATE ON K.RBSC$LOG_CONFIG
FOR EACH ROW
BEGIN
IF RBSC$LOG#.LOG_LEVEL#BY_NAME(:NEW.LOG_LEVEL) IS NULL THEN
RAISE_APPLICATION_ERROR(-20001, ''invalid log level: ''||:new.log_level||''. Allowed values are DEBUG, INFO, WARN, ERROR'');
END IF;
:NEW.LOG_LEVEL := LOWER(:NEW.LOG_LEVEL);
RBSC$LOG#.LOG_CONFIG#NOTIFY_ALL;
END;'
);
END;
/