|
|
|
уточните работу тригеров
|
|||
|---|---|---|---|
|
#18+
раз есть тригер ДО и ПОСЛЕ значит между ними должна быть принципиальная разница.... 1)в тригере до, можно менять значения полей(вставка, обновление) это пожалуй единственное в чом я уверен. ВОПРОСЫ 2)если стоит каскадное удаление из связаной таблицы, в тригере после уже эти связаные записи не доступны?! 3)если действие (вставка, удаление, обновление) не произошло, что будет с тем что намутил тригер ДО Например, в тригере до удаления, мы пишем лог - сколько дочерних элементов у него было. если же реального удаления не произошло по какойто причине, можно быть увереным или нет что и вставка в таблицу логов тоже будет отменена??? 4)может ктото по русски, т.к. по английски в документации не сформировалось понимания точного - расказать. что именно база делает при изменении данных, если есть оба типа тригеров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2014, 13:33:18 |
|
||
|
уточните работу тригеров
|
|||
|---|---|---|---|
|
#18+
А вообще что у мне надо. есть таблица parents(pk,name) 1 a 2 b 3 c childs(pk,fk,number) - referrence on parents on delete cascade 1 1 0 2 1 1 3 2 0 4 3 0 locks(pk=fk) - referrence on parents on delete restrict 3 хочу сделать delete from parents where id = 1 or id =3 третья запись в родителях не удалиться, ибо лок стоит на неё, а вот первая и её потомки удаляться. всё круто работает. но теперь при удалении родителя, мне нужно в логи записать что удалено было в виде имя_родителя + номер потомка должно стать logs(pk,name,number) 1 a 0 2 a 1 ибо родитель3 не удалился изза лока. и вот думаю, как это сделать без костылей через тригеры. в тригере delete after не найду потомков в тригере delete before - всё круто, но ведь логи я сделаю для родителя3, а он не удалился. как быть??? или я что-то упускаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2014, 13:56:49 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1834775]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 318ms |

| 0 / 0 |
