powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер логов
7 сообщений из 7, страница 1 из 1
Триггер логов
    #39610644
Фотография Goofy122
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создал таблицу логов и соотвесно триггер на DML,

Код: plsql
1.
2.
 MY.CHANGED_BY := USER;
 MY.CHANGED_TIME := SYSDATE;



нормально добавляются , а как прописать чтобы название компютера тоже добавлялось то есть терминал ?

Код: plsql
1.
 SELECT TERMINAL FROM SYS.AUD$ 
...
Рейтинг: 0 / 0
Триггер логов
    #39610646
Фотография Goofy122
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goofy122Создал таблицу логов и соотвесно триггер на DML,

Код: plsql
1.
2.
 MY.CHANGED_BY := USER;
 MY.CHANGED_TIME := SYSDATE;



нормально добавляются , а как прописать чтобы название компютера тоже добавлялось то есть терминал ?

Код: plsql
1.
 SELECT TERMINAL FROM SYS.AUD$ 



или же IP пользователя
...
Рейтинг: 0 / 0
Триггер логов
    #39610650
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goofy122,

SYS_CONTEXT/USERENV
...
Рейтинг: 0 / 0
Триггер логов
    #39610658
Фотография Goofy122
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййGoofy122,

SYS_CONTEXT/USERENV


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
CREATE TABLE DEPT$AUDIT (
        DEPTNO       NUMBER,
        DNAME        VARCHAR2(14 byte),
        LOC          VARCHAR2(13 byte),
        CHANGE_TYPE  VARCHAR2(1 byte),
        CHANGED_BY   VARCHAR2(30 byte),
        TERMINAL        VARCHAR2(50),
        CHANGED_TIME DATE
    );
    
    SELECT * FROM DEPT$AUDIT;
    
    
    CREATE OR REPLACE TRIGGER AUDITDEPTAR AFTER
    INSERT OR UPDATE OR DELETE ON DEPT FOR EACH ROW
    DECLARE
    MY DEPT$AUDIT%ROWTYPE;
    BEGIN
        IF INSERTING THEN MY.CHANGE_TYPE := 'I';
        ELSIF UPDATING THEN MY.CHANGE_TYPE :='U';
        ELSE MY.CHANGE_TYPE := 'D';
        END IF;
 
       MY.CHANGED_BY := USER;
       MY.CHANGED_TIME := SYSDATE;
       MY.TERMINAL := SYS_CONTEXT/USERENV;

       CASE MY.CHANGE_TYPE
       WHEN 'I' THEN
          MY.DEPTNO := :NEW.DEPTNO;
         MY.DNAME := :NEW.DNAME;
         MY.LOC := :NEW.LOC;
      ELSE
         MY.DEPTNO := :OLD.DEPTNO;
         MY.DNAME := :OLD.DNAME;
         MY.LOC := :OLD.LOC;
      END CASE;
 
      INSERT INTO DEPT$AUDIT VALUES MY;
  END;

 [Error] PLS-00306 (29: 23): PLS-00306: wrong number or types of arguments in call to 'SYS_CONTEXT'




Где ошибка помогите пожалуйста
...
Рейтинг: 0 / 0
Триггер логов
    #39610666
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goofy122,
Код: plsql
1.
select SYS_CONTEXT('USERENV', 'IP_ADDRESS') from DUAL;
...
Рейтинг: 0 / 0
Триггер логов
    #39610668
Фотография шК0ДЕР
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Триггер логов
    #39610681
Фотография Goofy122
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шК0ДЕРGoofy122,
Код: plsql
1.
select SYS_CONTEXT('USERENV', 'IP_ADDRESS') from DUAL;




спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Триггер логов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]