Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2013, 06:13   #1
dima1257
Пользователь
 
Аватар для dima1257
 
Регистрация: 16.11.2012
Сообщений: 66
По умолчанию Триггер. Хочется себе хотябы один работающий пример.Пишу в Oracle 11g. Enterprise Manager. Создал таблицу.

Пишу в Oracle 11g. Enterprise Manager.

Создал таблицу.
Код:
CREATE TABLE my_table
        (
                num     INTEGER NOT NULL PRIMARY KEY ,
                name    CHAR(30) NOT NULL            ,
                address CHAR(80) NULL                ,
                money   INTEGER NULL
        );
Заполнил.
Вот содержимое таблицы.
Код:
NUM NAME        ADDRESS MONEY
1   Dmitriy     Moscow  1000
2   Bill        USA     2000
3   Will        USA     4000
4   Viktoria    Russia  5000
5   Ekaterina   Russia  7000
125 testman     Russia  140000
Создал триггер. Преобразование в верхний регистр поля name.
Код:
CREATE OR REPLACE TRIGGER my_trigger AFTER
        DELETE OR
        INSERT OR
        UPDATE ON my_table FOR EACH ROW 
BEGIN 
        UPDATE my_table SET my_table.name = UPPER(name) 
    WHERE my_table.name = :OLD.name; 
END;
Пытаюсь проверить работу триггера.
update my_table set name = 'YES'
where name = 'Bill'

В ответ: ORA-04091: table TEST_DB.MY_TABLE is mutating, trigger/function may not see it
ORA-06512: at "TEST_DB.MY_TRIGGER", line 2
ORA-04088: error during execution of trigger 'TEST_DB.MY_TRIGGER'

Скажите пожалуйста в чем ошибка?

P.S: если не сложно, то покажите пожалуйста еще как по триггеру записывать что то в лог-файл.
Выдержка из правил форума: Не стоит отправлять в поиск, не хотите отвечать пройдите мимо. Хотите помочь, пишите конкретный ответ.
dima1257 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос таблиц с mssql2008 на oracle 11g ShowMeYourStyle SQL, базы данных 8 04.08.2011 06:23
Проблемы с установкой Oracle 11g Database Altera Софт 5 08.02.2011 09:10
Триггер , который после добавления записи в одну таблицу редактирует запись другой таблицы Rin БД в Delphi 7 18.12.2010 03:50