如何根据其他表的值增加一个表的列?

时间:2013-07-23 09:43:45

标签: asp.net sql-server-2008

我正在网上购物网站上制作一个项目。 我在桌子上有产品详细信息和其他库存信息

这两个表是这样的

ProductInfo
Column Name   Data Type   Constraint
ProductID     Int             Primary key , auto increment
ProductName   Varchar(100)  
SubCategoryID Int             Foreign key with ProductSubCategory
CompanyID     Varchar(20)     Foreign key with CompanyInfo
Price         Float 
Quantity      Int   
Description   Varchar(1000) 

ProductStock
Column Name Data Type     Constraint
StockID     Int         Primary key,auto increment
ProductID   Int         Foreign key with ProductInfo
Quantity    Int 
StockType   Varchar     Check(‘IN’,’OUT’)   
StockDate   Datetime

现在我最初保留了productinfo = 0的数量值,并希望根据StockType的数量值增加或减少它,具体取决于StockType

如果库存为'In',则将productinfo的数量增加数量= ProductStock的数量值

如果库存为'Out',则将productinfo的数量减去数量= ProductStock的数量值

我应该做什么查询来进行此操作?

2 个答案:

答案 0 :(得分:1)

使用触发器“AFTER INSERT”递增 - 递减所需的值。

http://msdn.microsoft.com/en-us/library/ms189799(v=sql.100).aspx

答案 1 :(得分:0)

试试这个,

当您在ProductStock表中插入产品时,只需要更新ProductInfo表。当ProductStock表中的库存减少时,只需将更新的productInfo表作为列名称Quantity。对于那个匹配两个表上的ProductID。