2014-03-02 53 views
0

我在表30列了其中四個都依賴MySQL的依賴not null列

  1. 借方發生額中輸入貨幣
  2. 信用證金額中輸入貨幣本位幣
  3. 借方發生額信用金額在功能貨幣

以下是我正在尋找的邏輯(其已實施PH P程序,所以99.99%安全,但我想要它既在程序以及DB級)

a。如果列1不爲空,那麼列3應該不爲空,列2/4應該爲空

b。如果第2列不爲空則塔4應該是不空和列1/3爲空

同爲3和4

這是在R12和融合中的應用

使用由Oracle的邏輯由於

+0

你在找什麼呢?在數據庫內執行這個邏輯的約束? –

+0

是的,這是真的..所有這些邏輯在表內,因爲在這個表中的任何錯誤的數據可以擰緊整個應用程序。 – user2959149

回答

0

可能是這樣

ALTER TABLE transactions 
ADD CHECK abs(dr-ifnull(cr,0))=dr or abs(dr-ifnull(cr,0))=cr 
+0

謝謝。看起來是個好主意..我會檢查並且會讓你知道 – user2959149

+0

對於MySQL來說不是一個可悲的選擇: -/ –

+0

correct..any其他解決方法而不是寫觸發器 – user2959149