Как исправить [Ошибка] PLS-00049 (30: 38): PLS-00049: переменная неверного связывания 'OLD.V_COLUMN' ”в столбце Динамический триггер Get - PullRequest
0 голосов
/ 31 января 2019

Я установил аудит триггера и отправил журнал аудита с циклом в столбец журнала получения в журнале таблиц.

Это для Oracle 12c

-- Tables <br></p>

<code> CREATE TABLE DBADMIN.DBLOG_MONITORING_DETAIL2(
      SID      VARCHAR2(999 BYTE),
      COLUMNS   VARCHAR2(999 BYTE),
      OLDVALUE   VARCHAR2(999 BYTE),
      NEWVALUE   VARCHAR2(999 BYTE)
    );

--Trigger

 CREATE OR REPLACE TRIGGER TA_EMPLOYEES3
        AFTER INSERT OR DELETE OR UPDATE
        ON DBADMIN.EMPLOYEES
        FOR EACH ROW
    DECLARE
        SID   VARCHAR2 (30);
    BEGIN
        SELECT SYS_CONTEXT ('USERENV', 'IP_ADDRESS') INTO IP FROM DUAL;
        SELECT SEQ# INTO SID1 FROM v$session
         WHERE audsid = (SELECT USERENV ('SESSIONID') FROM DUAL);
        IF INSERTING
        THEN
            FOR I IN (SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE
                        FROM dba_tab_columns
                       WHERE table_name = 'EMPLOYEES')
            LOOP N := N + 1;
                v_column := i.COLUMN_NAME;
                INSERT INTO DBADMIN.DBLOG_MONITORING_DETAIL2 (SID,COLUMNS,OLDVALUE, NEWVALUE)
                     VALUES (SID1,
                             i.COLUMN_NAME,
                             :OLD.v_column,
                             :NEW.v_column);
            END LOOP;
        END IF;
    END;
/
</code>

У меня ошибка

[Ошибка] PLS-00049 (31: 26): PLS-00049: переменная неверного связывания 'OLD.V_COLUMN'

может мне помочь?

...