Будет ли ON DELETE CASCADE запускать триггеры ON DELETE в последующих таблицах?
У меня есть три таблицы: результаты, m_int и количество строк. M_int связан с результатами с FK. Результаты имеют ON DELETE CASCADE и m_int имеет триггер для BEFORE DELETE. Rowcount отслеживает, сколько строк используется в m_int и каким пользователем.
Моя проблема в том, что когда я удаляю строку из результатов, я хочу, чтобы DELETE CASCADE запустил триггер на m_int. Есть идеи? Я потратил все утро на чтение документации и не могу найти ответ.
peri=> \d results
Table "public.results"
Column | Type | Modifiers
-----------+---------+-----------------------------------------------------
result_id | integer | not null default nextval('result_id_seq'::regclass)
trial__id | integer | not null
title | text |
Indexes:
"results_pkey" PRIMARY KEY, btree (result_id)
Referenced by:
TABLE "m_int" CONSTRAINT "m_int_result__id_fkey" FOREIGN KEY (result__id) REFERENCES results(result_id) ON DELETE CASCADE
peri=> \d m_int
Table "public.m_int"
Column | Type | Modifiers
------------+---------+------------------------------------------------------------
metric__id | integer | not null
result__id | integer | not null
value | integer | not null
m_value_id | bigint | not null default nextval('m_int_m_value_id_seq'::regclass)
Indexes:
"m_int_pkey" PRIMARY KEY, btree (m_value_id)
Foreign-key constraints:
"m_int_metric__id_fkey" FOREIGN KEY (metric__id) REFERENCES metrics(metric_id) ON DELETE CASCADE
"m_int_result__id_fkey" FOREIGN KEY (result__id) REFERENCES results(result_id) ON DELETE CASCADE
Triggers:
addrows_m_int AFTER INSERT ON m_int FOR EACH ROW EXECUTE PROCEDURE add_rows_m_int()
remrows_m_int BEFORE DELETE ON m_int FOR EACH ROW EXECUTE PROCEDURE rem_rows_m_int()
peri=> \d rowcount
Table "public.rowcount"
Column | Type | Modifiers
------------+---------+-----------
user__id | integer | not null
table_name | text | not null
total_rows | bigint |
Indexes:
"rowcount_pkey" PRIMARY KEY, btree (user__id, table_name)