2013-12-12 62 views
-1

我有兩個實體propositiondepartment。命題必須針對至少一個部門(1-N),並且部門可以以0-N命題爲目標。如何在插入後檢查另一個表中的插入

所以在我的數據庫中,我有3個表格:PROPOSITION,TARGETDEPARTEMENT

我試圖找到一種方法來確保在插入PROPOSITION中的提議後,將條目插入到TARGET中。換句話說,我想確保(1-N)關係不成爲(0-N)關係。

有沒有辦法用觸發器做到這一點?或者我應該改變我的數據庫結構?

在此先感謝

[編輯] 解決方案:

觸發器不能做這項工作作爲插入在TARGET取決於由用戶異步輸入的值。例如,如果命題1目標部門2和3,在我的表中的數據是:

PROPOSITION 
1 

TARGET 
1 2 
1 3 

DEPARTMENT 
1 
2 
3 

觸發的想法:在PROPOSITION設置觸發,東西插入後....?我們做什麼 ?等待插入TARGET?爲部門插入默認值TARGET? 因此PROPOSITION上的觸發器不起作用。

我發現的唯一的解決方法是調整自己的數據庫:

  • 我的主張,即不能爲NULL添加一個字段DEPARTMENT_NUMBER
  • 我在TARGET表上設置了一個觸發器,用於在插入之前檢查該命題是否已經針對其屬性中的部門。

的方法減緩了數據庫,但它保證了(1-N)的關係得到尊重

+1

你可以用觸發器做到這一點。您不需要更改數據庫結構。 –

+0

我知道一個觸發器可以做這個插入,我在哪裏得到我必須插入的值?這取決於命題所針對的部門...... – Caroline

回答

相關問題