2014-01-17 53 views
0

在ibm db2數據庫上,我有兩個表TABLE1和TABLE2。 我還在TABLE1上有一個邏輯文件LOGICAL1 LOGICAL1根據某些TABLE1字段的值過濾來自TABLE1的記錄。 (它就像一個SQL視圖)在視圖上添加外鍵約束

我想在TABLE2和邏輯文件LOGICAL1之間添加一個外部約束。

當我試圖做到這一點,我有一個錯誤消息SQ0157說LOGICAL1在外鍵子句中無效,邏輯文件或視圖不能在外鍵子句中指定。

那麼,有沒有辦法對過濾的表格進行約束?

回答

2

約束意味着所有的子行都有父行。

考慮在使用LOGICAL1驗證插入/寫入是否允許的子表上寫入觸發器。

1

正如詹姆斯指出,FK約束僅適用於物理表。 AFAIK,這條規則適用於所有RDBMS系統。

但是,如果您將約束放在物理上,它的效果將在視圖中看到。

Charles