|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Добрый день. Мне надо при изменении записи id_tariff в таблице services, поместить в другую старые записи ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2019, 21:57 |
|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
illionaМне надо при изменении записи id_tariff в таблице services, поместить в другую старые записи Для этого достаточно одного INSERT. Ни SELECT, ни EXECUTE IMMEDIATE не нужны. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2019, 22:34 |
|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
Мне selet надо выбрать одну дату,которая находится в другой таблице и потом ее вставить при insert Как в триггере организовать select потом insert, отдельно или в один запррос ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 04:25 |
|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
ошибка Error starting at line : 211 in command - update services set id_tariff=5 where id_services=1 Error report - ORA-04091: table JULIA.SERVICES is mutating, trigger/function may not see it ORA-06512: at "JULIA.TRIGGER_SERVICES", line 7 ORA-04088: error during execution of trigger 'JULIA.TRIGGER_SERVICES' если просто insert То все работает, а через триггер нет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 07:26 |
|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
illiona, Убери выборку из services. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 07:32 |
|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
illiona если просто insert То все работает, а через триггер нет в триггере итак есть все денные, безо всяких select они известны. :old. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 07:40 |
|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
date_start мне нужно взять из другой таблицы validity_period, не на которую накладывается триггер ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 07:52 |
|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
illiona date_start мне нужно взять из другой таблицы validity_period, не на которую накладывается триггер ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 08:13 |
|
Триггер копирование записи до обновления из одной таблицы в другую
|
|||
---|---|---|---|
#18+
illiona Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
ошибка Error starting at line : 211 in command - update services set id_tariff=5 where id_services=1 Error report - ORA-04091: table JULIA.SERVICES is mutating, trigger/function may not see it ORA-06512: at "JULIA.TRIGGER_SERVICES", line 7 ORA-04088: error during execution of trigger 'JULIA.TRIGGER_SERVICES' если просто insert То все работает, а через триггер нет 1) есть of id_tariff то IF :NEW.id_tariff != :old.id_tariff не надо (тем более что он іф не совсем правильный) 2) дату ищите примерно так select v.date_start into переменная from validity_period v WHERE (v.id_services=:old.id_services and v.id_abonent=:old.id_abonent) (мож :new от логики зависит) + no_data_found 3) inset получится примерно такой INSERT INTO arhif_tariff (ID_tariff, id_services,id_abonent,date_smeni_teriff,data_start) values (:old.id_tariff,:old.id_services,:old.id_abonent,sysdate,переменная); можно и через inset select from (мож даже так и оптимальнее, но я так почему-то не делал) ps если не получится, нарисую триггер целиком ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 11:12 |
|
|
start [/forum/topic.php?fid=52&msg=39890265&tid=1881848]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 164ms |
0 / 0 |