2013-12-12 3 views
-1

У меня есть два объекта 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) отношения, которые должны соблюдаться

+1

Вы можете сделать это с помощью триггера. Вам не нужно изменять структуру db. –

+0

Я знаю, что триггер может сделать эту вставку, где я могу получить значение, которое мне нужно вставить? Это зависит от того, на каком департаменте поставлено предложение ... – Caroline

ответ

0

Лучший способ сделать это в моем opinon бы создать триггер на предложении, который вставляет в цель.

Проверьте эту ссылку, чтобы вы начали. http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

+0

Я не знаю, что нужно вставлять, это зависит от того, к чему ОТПРАВЛЯЕТ ПРАВИЛА ПРОТОКОЛА! – Caroline

Смежные вопросы