У меня есть две таблицы. Клуб и Тренер.
Между ними 0,1 - 0,1 отношения (у тренера может быть ноль или один клуб. У клуба может быть ноль или один тренер).
Когда я хочу сменить тренера данного клуба, я должен обновить клубную таблицу. Так что я должен сменить idCoach этого клуба. Предположим, что новый тренер (вновь назначенный тренер данного клуба) уже является тренером какого-то другого клуба. Я должен установить в Null field idCoach этого клуба, потому что его тренер будет назначен в другой клуб.
Кроме того, если клуб, для которого я хочу сменить тренера, уже имеет тренера, тогда я должен установить для idClub этого тренера (в таблице тренеров) значение Null.
Все вышеизложенное также относится и к тому, когда я хочу сменить клуб определенного тренера. (Необходимо установить значение Null idCoach в предыдущем клубе данного тренера и установить значение null idCoach нового клуба).
Те же проблемы могут возникать, когда я вставляю новую запись в таблицу Club или Coach или удаляю существующую (при вставке, обновлении и удалении мне нужно следить за соответствующими ссылками и отсоединять их).
Я хочу решить это с помощью триггеров. Я думаю, мне нужно было бы иметь три триггера в таблице Club (для вставки, обновления и удаления) и еще три в таблице Coach.
В триггере обновления (например, в клубе) мне нужно обновить таблицу тренеров, которая снова будет запускать обновление в клубе (потому что в его теле необходимо обновить таблицу клубов), и этот триггер обновит тренера и триггер и так далее. Так что у меня будет врезной замок.
Как это решить?
Это первый раз, когда я работаю с триггерами, так что извините заранее, за это большое объяснение простой вещи.
Ура!