我在用mysql做一个库存的数据库!我想在入库表了添加一条数据后触发库存表的数量属性与插入的相同属性相加

我在用mysql做一个库存的数据库!我想在入库表了添加一条数据后触发库存表的数量属性与插入的相同属性相加,第1张

CREATE

TRIGGER `入库表` AFTER INSERT ON `入库表`

FOR EACH ROW BEGIN

CALL MyFun(newlsh);

END IF;

END;

然后写一个存储过程

DELIMITER $$

USE `yourdatabase`$$

DROP PROCEDURE IF EXISTS `MyFun`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `MyFun`(IN clsh CHAR(16))

BEGIN

DECLARE totle, num1,num2 int;

declare bh char(16);

SELECT 数量 INTO num1 FROM 入库表 WHERE 入库编号=clsh;

SELECT 物料编号 into bh FROM 入库表 WHERE 入库编号=clsh;

SELECT 数量 INTO num2 FROM 库存表 WHERE 物料编号=bh;

set totle=num1+num2;

update 库存表 set 数量=totle WHERE 物料编号=bh;

END$$

DELIMITER ;

大概就是这样,里面的中文改成你对应的表和字段,然后你可以在存储过程里面加上异常处理,比如编号重复等。

-- 1、 在销售商品的同时,将记录库存中该商品数量减少多少。

CREATE TRIGGER tg_reduceNO

ON sales FOR update

AS

begin

declare @oldnum int

declare @newnum int

set @oldnum=(select sale_number from deleted)

set @newnum=(select sale_number from inserted)

update stock set stock_number=stock_number-(@newnum-@oldnum)

--@newnum-@oldnum表示商品减少的数量

where dbostockpro_id=(select pro_id from inserted)

end

-- 2、 在增加一种新商品时,给库存表中增加一条库存为零的记录。

CREATE TRIGGER tg_addproduct

on product for insert

as

begin

declare @pro_id varchar(10)

set @pro_id=(select pro_id from inserted)

insert stock values(@pro_id,'0')

end

-- 3、 当更新部门表的部门编号时,将员工表中相应的部门编号修改过来

CREATE TRIGGER tg_upd

on department for update

as

begin

update dboemployee set dept_id=(select dept_id from inserted)

where dept_id=(select dept_id from deleted)

end

mssql 触发器自动更新

CREATE TRIGGER 入库表修改 ON 入库表

FOR UPDATE

AS

SET NOCOUNT ON

if update(入库数量)

begin

update 库存表 set 库存数量=isnull(a入库数量,0)-isnull(b入库数量,0)-isnull(c出库数量,0)

from 入库表 a,deleted b,出库表 c where a型号=b型号 and a型号=c型号

update 库存表 set 库存数量=isnull(a入库数量,0)+isnull(b入库数量,0)-isnull(c出库数量,0)

from 入库表 a,inserted b,出库表 c where a型号=b型号 and a型号=c型号

end

SET NOCOUNT OFF

go

CREATE TRIGGER 出库表修改 ON 出库表

FOR UPDATE

AS

SET NOCOUNT ON

if update(出库数量)

begin

update 库存表 set 库存数量=isnull(a入库数量,0)-isnull(c出库数量,0)+isnull(b出库数量,0)

from 入库表 a,deleted b,出库表 c where a型号=b型号 and a型号=c型号

update 库存表 set 库存数量=isnull(a入库数量,0)-isnull(c出库数量,0)-isnull(b出库数量,0)

from 入库表 a,inserted b,出库表 c where a型号=b型号 and a型号=c型号

end

SET NOCOUNT OFF

最简单的:

库存表:型号,数量

存储表:产品编号,日期,数字存储

一个数据库表:编号,日期,数字图书馆到ACCESS“关系”的观点,添加三个表,存储表,出库表“型号”库存表“型号”连接,双击电缆,选择“包含的库存表中的所有记录,保存的关系。

以上就是关于我在用mysql做一个库存的数据库!我想在入库表了添加一条数据后触发库存表的数量属性与插入的相同属性相加全部的内容,包括:我在用mysql做一个库存的数据库!我想在入库表了添加一条数据后触发库存表的数量属性与插入的相同属性相加、数据库SQL的建表问题!、大神们,求问,我目前数据库有三张表,入库,库存,出库.有个字段是数量,如何让三张表关联自动更新等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9375718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存