我有兩個實體proposition
和department
。命題必須針對至少一個部門(1-N),並且部門可以以0-N命題爲目標。如何在插入後檢查另一個表中的插入
所以在我的數據庫中,我有3個表格:PROPOSITION
,TARGET
和DEPARTEMENT
。
我試圖找到一種方法來確保在插入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)的關係得到尊重
你可以用觸發器做到這一點。您不需要更改數據庫結構。 –
我知道一個觸發器可以做這個插入,我在哪裏得到我必須插入的值?這取決於命題所針對的部門...... – Caroline