У меня есть два объекта proposition
и department
. Предложение должно ориентироваться, по крайней мере, на один отдел (1-N), а отдел может быть нацелен на предложения 0-N.Как проверить ввод в другую таблицу после вставки
Поэтому в моей базе данных у меня есть 3 стола: PROPOSITION
, TARGET
и DEPARTEMENT
.
Я пытаюсь найти способ убедиться, что после вставки предложения в PROPOSITION
запись вставляется в TARGET
. Другими словами, я хочу убедиться, что отношение (1-N) не станет (0-N).
Есть ли способ сделать это с помощью триггера? Или мне нужно изменить структуру моей базы данных?
Заранее спасибо
[EDIT] Решение:
Триггер не может выполнять работу в качестве вставок в TARGET
зависит от значения, которое вводится асинхронно пользователем. Например, если отдел предложение 1 цели 2 и 3, в моих таблицах данные:
PROPOSITION
1
TARGET
1 2
1 3
DEPARTMENT
1
2
3
Trigger идея: Установить триггер PROPOSITION
, после того, как что-то вставляется .... ?? Что мы делаем ? Ждите ввода в TARGET
? Ввести значение по умолчанию в TARGET
для отдела? Так что триггер на PROPOSITION
не собирается работать.
Единственное решение, которое я нашел, чтобы перестроить свою базу данных:
- я добавил поле
DEPARTMENT_NUMBER
в предложении, которое не может быть NULL. - Я установил триггер на таблицу
TARGET
, чтобы проверить перед вставкой, что это предложение еще не нацеливается на отдел в его атрибуте.
Метод замедляет базу данных, но она обеспечивает (1-N) отношения, которые должны соблюдаться
Вы можете сделать это с помощью триггера. Вам не нужно изменять структуру db. –
Я знаю, что триггер может сделать эту вставку, где я могу получить значение, которое мне нужно вставить? Это зависит от того, на каком департаменте поставлено предложение ... – Caroline