我已經創建了一些表用於開票。觸發器維持總計
有一個invoice_header和invoice_detail表。該發票明細包含在發票明細,invoice_header_id,數量,UNIT_PRICE,TAX_AMOUNT等
發票頭已經帳單地址,發票沒有,invoice_total等
我已經創建了一個插入/更新觸發/刪除,使頭中的invoice_total是總和(invoice_details.qty * invoice_details.unit_price)
有一種情況我不知道如何照顧。 如果我更新invoice_detail行,將其與不同的標題關聯。 這樣
UPDATE invoice_details SET invoice_header_id=1 WHERE invoice_header_id=2
的觸發條件會,但它會更新舊的頭記錄,但總不是新的。我該如何迎合這種情況?
在黑暗中拍攝,但您的觸發器創建的樣子是什麼樣子?也許你需要'AFTER'插入/更新而不是'BEFORE'? –
只是一個想法:我會創建一個查看您的詳細信息,即時計算頭。這樣它總是正確的。你正在反規格化數據,這通常會導致這樣的麻煩。只有當性能是一個真正的問題時,你應該考慮你的設計。 – Bohemian
@波希米亞,我沒有真正考慮視圖作爲一種選擇,我可以放棄這一點。乾杯 – bumperbox