0
我正在使用SQL服務器,而我正在嘗試做的是創建一個觸發器,每當ShipDate(從表「OrderHeader」)將QtyOnHand(從表「book」)減1從NULL更新爲實際日期。SQL - 連接觸發器中的表
正如你從下面的表格中看到的,OrderHeader和Book不是直接相關的,我必須通過OrderHeader的OrderDetail表來獲取書的ISBN,然後從Book表中減去QtyOnHand, ISBN。
我試圖加入觸發器中的所有3個表來比較OrderNo,ISBN和QtyOnHand進行比較,但我不確定這是否是解決此問題的正確方法。
任何建議,將不勝感激。謝謝
OrderHeader
+-----------+---------+------+-----+
| Name | Type | Null | Key |
+-----------+---------+------+-----+
| OrderNo | int | NO | PRI |
| MemberID | char(10)| NO | |
| OrderDate | date | NO | |
| Address | char(30)| NO | |
| ShipDate | date | YES | |
+-----------+---------+------+-----+
的OrderDetail
+-----------+---------+------+-----+
| Name | Type | Null | Key |
+-----------+---------+------+-----+
| OrderNo | int | NO | PRI |
| OrderLine | int | NO | PRI |
| ISBN | char(10)| NO | |
| Quantity | int | NO | |
| Price | decimal | NO | |
+-----------+---------+------+-----+
書
+-----------+---------+------+-----+
| Name | Type | Null | Key |
+-----------+---------+------+-----+
| ISBN | char(10)| NO | PRI |
| Author | char(50)| NO | |
| Title | char(80)| NO | |
| QtyOnHand | int | NO | |
| Price | decimal | YES | |
+-----------+---------+------+-----+
當然不是正確的方法。當您的應用程序將訂單標記爲已發貨時,應該減少庫存。 – 2014-10-31 20:33:48