Информация

Последние записи

Теги


Блоги


Записи из всех блогов с тегом: trigger


mini GItHub на ORACLE

Блог: Oracle SQL
Учебный тренинг. SQL от новичка до профессионала.
Бесплатные авторские видеокурсы SQL, PLSQL, JAVA

Название интересное, но это не важно...
на самом это деле небольшая система аудита для заданной схемы на БД.
для начала создадим таблицу для аудита

create table a_code(
  username varchar2(50)
, os_user  varchar2(50)
, date_changed date
, object_type varchar2(50)
, object_name varchar2(50)
, user_source clob
); 


добавим функционал для поддержки версионности

create or replace trigger A_CODE_trigger
  before create on schema
declare
  l_date  date := sysdate;
  l_ver   number;
  l_user  varchar2(20);
  l_cl    clob;
begin
  if (ora_dict_obj_type in
            ( 'PACKAGE'
             ,'PACKAGE BODY'
             ,'PROCEDURE'
             ,'FUNCTION' ) )
  then
    select sys_context( 'userenv', 'os_user' ) into l_user from dual;
    l_cl := '';
    for i in (
    SELECT * FROM user_source
     where name = ora_dict_obj_name
       and type = ora_dict_obj_type order by user_source.LINE
       )  loop   
        l_cl := l_cl||i.text;
       end loop;
    insert into a_code(username , os_user  , date_changed, object_type, object_name, user_source) 
    values (user, l_user , sysdate, ora_dict_obj_name, ora_dict_obj_type, l_cl);
  end if;
end;
/

мы знаем когда и кто менял код, а так же сохраняем разные версии данного кода
автор: Myp3_u_K добавлено: 21 дек 17 просмотры: 4134, комментарии: 2



Триггер, выводящий текст вызвавшего его запроса.

Несколько раз встречал подобные вопросы в форумах. Задача, формулируется примерно так. Получить в триггере текст команды, которая привела к тому, что этот триггер сработал.

Это может быть полезно если мы, например, хотим увидеть/залогировать конкретный запрос, который привел к изменению данных. Сразу скажу, что штатный механизм для обеспечения этого на сегодняшний день, в версиях 2000, 2005, 2008 - не предусмотрен. Но тем не менее, что-то похожее можно реализовать с некоторыми ограничениями.
читать дальше...
автор: SomewhereSomehow добавлено: 08 дек 10 просмотры: 2889, комментарии: 0