singlepost

Триггер при создании таблицы в Oracle << На главную или назад  

Помогите создать триггер, который должен запускаться при создании любой таблицы и добавлять в нее два столбца:Время и Пользователь. Столбец Время должен иметь значение по умолчанию – время создания новой записи, а столбец Пользователь – учетную запись пользователя.

3 ответов в теме “Триггер при создании таблицы в Oracle”

  1. 3
    Виктор Ручкин ответил:

    Судя по ora_login_user СУБД – Oracle

    Ты что именно сделать хочешь? Создать системный триггер, который при создании новой таблицы, пихал бы в нее автоматом колонку с неким дефолтным значением?

    Тогда так:

    CREATE OR REPLACE TRIGGER my_trigger AFTER CREATE
    ON my_schema.SCHEMA
    declare
    v_ddl varchar2(4000);
    v_job number;
    begin
    if sys.dictionary_obj_type='TABLE' then
    v_ddl := 'alter table ' || sys.dictionary_obj_name ||' add dt date default sysdate';

    dbms_job.submit(v_job, 'execute immediate ''' || v_ddl || ''';', sysdate+(1/24/60/60));
    end if;
    end;

  2. 2
    Виталий Лисапов ответил:

    Можно пример этого? Для времени использую – sysdate, а для пользователя – ora_login_user. А вот добавление столбцов триггере не получается.

  3. 1
    Евгений Баталов ответил:

    Для начала надо указать СУБД.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.