2012-10-11 23 views
3

我想了解是否低於SQL最好的描述的情況是跆拳道或某種形式的黑客攻擊:有任何理由FK一個PK列本身

alter table CORE_FIELD 
add constraint R_106 foreign key (CO_FIELD_ID) 
references CORE_FIELD (CO_FIELD_ID) on delete set null; 

數據庫:Oracle 11.2。 0.1

+4

可能是一個WTF。 –

回答

2

我想不出有什麼有意義的事情可以通過這樣的約束來實現。顯然,約束總是會被滿足,所以它不能提供完整性功能。我有一個想法,也許這是一種防止刪除的方法,但在我的實驗中並沒有這樣做。

+0

我的想法是,當行被刪除時,它可能是試圖獲取UPDATE觸發器,但我做了一些測試,發現刪除某行時未觸發UPDATE觸發器(BEFORE或AFTER)。 (有道理,但直到你嘗試:-)時你纔會知道。 –