Как ссылаться на другие таблицы в проверочных ограничениях?

У меня есть таблица ProductSupportArticles:

ProductSupportArticleID int NOT NULL <primary key>
ParentArticleID int NULL
ProductID int NOT NULL
Title varchar(100) NOT NULL
Content varchar(MAX) NOT NULL

ProductID - это внешний ключ для Products.ID, ParentArticleID - это внешний ключ для той же таблицы ProductSupportArticles.ProductSupportArticleID. У меня есть проверочное ограничение ProductSupportArticleID! = ParentArticleID, так что статья не может быть собственным родительским элементом.

Однако статья поддержки, относящаяся к конкретному продукту, не должна быть родительской или дочерней для статьи, относящейся к другому продукту. . Как я могу добавить ограничение проверки или подобное высказывание: (ProductID = (SELECT ProductID FROM ProductSupportArticles P WHERE ParentArticleID = P.ProductSupportArticleID))

Или как мне по-другому реализовать свои таблицы?

5
задан Jake Petroules 20 March 2011 в 23:53
поделиться