Hello
У меня есть основная таблица BASECOMPANYDATA с BaseCompanyDataID в качестве ПК. Это заложено
2 другие таблицы ЗАКАЗЧИКИ И ПРОДУКЦИИ. Теперь у меня есть таблица КОНТАКТЫ, которые я
хотите соединиться с 2 другими, так как клиенты и продуктовые компании будут иметь 0 или
больше контактов. Поэтому я сделал FK (BaseCompanyID) в контактах и подключен к
BASECOMPANYDATA PK (BaseCompanyDataID). Но когда я пытаюсь вставить контакт для
запись, которая существует в CUSTOMERS, я получаю следующую ошибку:
ОШИБКА: вставка или обновление таблицы "xxxxx" нарушает внешний ключ в отличие от "xxxxx"
ДЕТАЛИ: Ключ (BaseCompanyDataID) = (17) отсутствует в таблице «BaseCompanyData».
Этот идентификатор существует в указанной выше унаследованной таблице (BaseCompanyData).
Может кто-нибудь объяснить, почему это происходит?
Заранее спасибо
PS : Ну, у меня есть 4 таблицы:
1.BASECOMPANYDATA с BaseCompanyDataID в качестве PK и некоторыми другими полями.
2.CUSTOMERS, который наследует от приведенной выше таблицы, поэтому он имеет CustomerID в качестве PK и имеет поля таблицы BASECOMPANYDATA, а именно BaseCompanyDataID и т. Д.
3.PRODUCTCOMPANIES, который наследуется от BASECOMPANYDATA, поэтому он имеет поля ProductCompanyID как PK и поля унаследованной таблицы, например BaseCompanyDataID и т. Д.
4. КОНТАКТЫ с ContactID в качестве PK и BaseCompanyDataID в качестве FK. Я пытался связать таблицу КОНТАКТОВ 2-мя разными способами. а. КОНТАКТЫ-> BaseCompanyID с CUSTOMERS-> BaseCompanyDataID и КОНТАКТЫ-> BaseCompanyID с PRODUCTCOMPANIES-> BaseCompanyDataID b. КОНТАКТЫ-> BaseCompanyID с BASECOMPANYDATA-> BaseCompanyDataID В результате возникла та же ошибка. Любой ответ о том, как я могу создать ФК с помощью наследования, если есть. Заранее спасибо