powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Trigger INSERT or UPDATE
10 сообщений из 10, страница 1 из 1
Trigger INSERT or UPDATE
    #39937021
Фотография Frequency
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим есть таблица Table

X VALUES
-1
-2
-5
1
2

Нужен триггер на данную таблицу после INSERT or UPDATE

в значении валуе автоматом присваивалось значение 'MINUS'
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937026
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frequency,

drop column
add column as ('MINUS')
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937028
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frequency
Нужен триггер на данную таблицу после INSERT or UPDATE
Нужен? - Делай!
Какие конкретно проблемы?
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937036
Фотография Frequency
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извиняюсь если в столбец х INSERT или UPDATE отрицательное значение < 0 , чтобы триггер срабатывал и изменял VALUES = 'MINUS' где все значение х < 0

на подобии

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
CREATE OR REPLACE TRIGGER TEST.TABLE_UPT

BEFORE UPDATE ON TEST.TAB FOR EACH ROW


BEGIN

        IF (INSERTING) AND :NEW.X < 0 
                THEN 
                     UPDATE TEST.TAB
                        SET VAL = 'MINUS'
                     WHERE X < 0 ;
                     
         END IF;

         
         
         
END;

/



при INSERT норм спрабатывает при UPDATE выдает ошибку


Код: xml
1.
2.
3.
ORA-04091: table TEST.TAB is mutating, trigger/function may not see it
ORA-06512: at "TEST.TABLE_UPT", line 14
ORA-04088: error during execution of trigger 'TEST.TABLE_UPT'
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937039
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937040
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
:NEW.VAL := 'MINUS'
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937043
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frequency,

Код: 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.
SQL> ed
Wrote file afiedt.buf

  1  CREATE OR REPLACE TRIGGER t$biu
  2  BEFORE INSERT OR UPDATE  ON t FOR EACH ROW
  3  begin
  4    If :new.x<0 then :new.value:='MINUS'; else :new.value:=null; end if;
  5* end;
SQL> /

Trigger created.

SQL> insert into t(x) values(1);

1 row created.

SQL> insert into t(x) values(-1);

1 row created.

SQL> insert into t(x) values(2);

1 row created.

SQL> update t set x=-x;

3 rows updated.

SQL> select * from t;

          X VALUE
----------- ----------
     -1.000 MINUS
      1.000
     -2.000 MINUS

SQL>



....
stax
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937046
Фотография Frequency
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то я совсем ступел. Спасибо большое
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937047
Фотография Frequency
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
особенно Stax за подробную инфу
...
Рейтинг: 0 / 0
Trigger INSERT or UPDATE
    #39937067
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Frequency
особенно Stax за подробную инфу


Код: plsql
1.
2.
3.
4.
5.
create table tbl(
                 x number,
                 value as (case when x < 0 then 'MINUS' end)
                )
/



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


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