最近做一个仓库管理的小系统,,要用到触发器,但不会写,请高手指点。出库明细表:
outListID,material_id,material_name,quantity,quantity,price,total_price库存表:
material_id,quantity,cangku如上,当我对明细表的某一个物料进行入库和出库操作时候,对该表做个触发器,自动增加或减少库存表中该物料的数量(quantity)两个表关联字段是 material_id ,outlist_id是出库主表的单号
outListID,material_id,material_name,quantity,quantity,price,total_price库存表:
material_id,quantity,cangku如上,当我对明细表的某一个物料进行入库和出库操作时候,对该表做个触发器,自动增加或减少库存表中该物料的数量(quantity)两个表关联字段是 material_id ,outlist_id是出库主表的单号
解决方案 »
- 请问有哪些大网站支持Indy?
- 这种效果如何画出来?
- 如何判断一个QuickRep的打印任务完成?
- 请教一个关于控制外部程序的问题
- 怎样在用InstallShared Express制作安装程序时将sql server的数据库同时安装好?
- 请问一关于文件操作的简单问题
- 消息的困惑?WM_USER
- 怎么在鼠标双击事件中取得鼠标当前位置?????
- 请问如何将Delphi的错误提示本地化(汉化)?
- 学Delphi这么久了,还不知道不用IDE怎样编译Delphi程序??谁会啊?
- 动态生成多个控件时,如何给每控件一个不同的事件
- 求助,新安装DELPHI7或2007都无法创建VCL FORMS APPLICATION~
CREATE TABLE INSTOCK(ID INT,QTY INT)
INSERT INSTOCK SELECT 1,2
UNION ALL SELECT 2,3
//库存表
CREATE TABLE STOCK(ID INT,QTY INT)
INSERT STOCK SELECT 1,10
UNION ALL SELECT 2,20
//触发器CREATE TRIGGER TRI_STOCK
ON INSTOCK
FOR INSERT//INSERT触发方式
AS
SET NOCOUNT ON//关闭回响UPDATE S
SET S.QTY=S.QTY+I.QTY
FROM STOCK S
INNER JOIN
(SELECT SUM(QTY) AS QTY ,ID FROM INSERTED GROUP BY ID) I //这里之所以将逻辑表INSERTED进行汇总,就是为了避免前端应用程序进行批量插入!即一条INSERT,后面的数据是UNION ALL 拼接的。
ON S.ID=I.IDSET NOCOUNT OFF