0
注:張貼後,我添加了額外的「要求」的問題,他們在斜體。通過父表列上的條件限制外鍵約束?
如何限制一個外鍵約束,以便通過鍵值強制引用一行附加條件(基於父表中的列值和子表中的一個列值)?
例如在父母和孩子表中我們有一個名爲的列已過期。如果它具有值「是」(我在下面的示例中使用值「0」和「1」)在父表中,那麼除了如果子行也具有expired ='''',那麼沒有孩子應該引用該行1'。
實施例:http://sqlfiddle.com/#!15/33931/1
基本上,如果過期在任一表中設定爲「1」,這些行應爲「忽略」,只要FK引用有關。
(我正在尋找的Oracle解決方案,但總體思路也歡迎)
MT0,你的答案是偉大的,原來的問題,謝謝。
你能舉個例子嗎? – kevinsky