Postgres Table - это внешний ключ для нескольких таблиц - PullRequest
0 голосов
/ 29 июля 2010

У меня есть ситуация, и я был бы признателен за помощь.
У меня есть две таблицы - ошибка и предупреждение:

Error   : Err_no, pattern(pk=Error_no)
Warning : War_no, pattern(pk=War_no)

На основании этих таблиц я должен принять решение о разрешении, и у меня есть отдельная таблица, которая делает это:

Resolution : Code_no, resolution

Я хочу сохранить Code_no в качестве внешнего ключа для Err_no(Error table) и War_no(Warning table). Я использую Postgres и хочу знать, могу ли я это сделать и как?

Ответы [ 2 ]

2 голосов
/ 29 июля 2010

Внешний ключ может ссылаться на одну-единственную таблицу первичного ключа - поэтому вы не сможете иметь Code_no для ссылки на обе таблицы.

0 голосов
/ 30 июля 2010

Вы можете изменить дизайн таблиц, объединить таблицы ошибок и предупреждений в одну таблицу: Сообщение

Сообщение: (Msg_no, parrern, type (pk = Msg_no))

используя тип столбца для различения ошибки или предупреждения. затем вы можете сохранить Code_no как внешний ключ для сообщения (Msg_no).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...