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