用语言实现

好处:

1、可以减少对数据库的访问。

2、可移植性好。

坏处:

1、操作起来考虑的东西较多,修改一处就要修改别一处。也就是说是相互关联的。如果少改了某一处,很可能使数据不一致。

用触发器实现

好处:

1、可以使程序员从复杂的相互关联中解放出来,把精力放在复杂的业务上。

坏处:

1、可移植性差。

下面我就用一个例子实现一个简单的出入库。因为是例子表中所用到的字段很少。这里的例子只做为抛砖引玉。

数据表为入库金额表(以下简称入库表)income,出库金额表(以下简称出库表)outlay,余额表balance

income{

id number;

pay_amount number;(入库金额字段)

}

outlay{

id number;

outlay_amount number;(出库金额字段)

}

balance

{

id number;

balance number;(余额字段)

}

下面分别在入库和出库表中建立触发器

入库表(income):

CREATE TRIGGER "AA"."TRI_ADD" AFTER

INSERT

OR DELETE ON "INCOME" FOR EACH ROW begin

if deleting then

update balance set balance = nvl(balance,0) - :old.pay_amount;

elsif updating then

update balance set balance = nvl(balance,0) - :old.pay_amount + :new.pay_amount;

else

update balance set balance = nvl(balance,0) + :new.pay_amount;

end if;

end;

出库表(outlay):

CREATE TRIGGER "AA"."TRI_CUT" AFTER

INSERT

OR DELETE

OR UPDATE ON "OUTLAY" FOR EACH ROW begin

if deleting then

update balance set balance = nvl(balance,0) + :old.outlay_amount;

elsif updating then

update balance set balance = nvl(balance,0) + :old.outlay_amount - :new.outlay_amount;

else

update balance set balance = nvl(balance,0) - :new.outlay_amount;

end if;

end;

下面我解释一下

oracle触发器,触发事件分为插入,删除,更新列三种事件,分别对应inserting /deleting/updating关键字

可以用if语句分别实现

if inserting then

-----

elsif updating then

-----

elsif deleting then

------

end if;

NVL(eExpression1, eExpression2)

如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。

如果 eExpression1 的计算结果不是 null 值,则返回 eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。

如果 eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回 .NULL.。

这里插入和删除就不说了。主要是更新操作,更新操作要注意的是更新应该是先减去旧值,在加上新值。

以上就是触发器例子的实现。文章写的不好请大家谅解。

mysql入库出库触发器_oracle 触发器 实现出入库相关推荐

  1. 金蝶KIS旗舰版盘点机PDA,销售出库单扫码校验,出库扫码校验核对,金蝶生产管理软件,金蝶仓库条码管理

    金蝶KIS旗舰版盘点机PDA,销售出库单扫码校验,出库扫码校验核对,金蝶生产管理软件,金蝶仓库条码管理,移动扫码销售出库校验_哔哩哔哩_bilibili本期视频讲解:使用盘点机PDA ,扫描商品条码, ...

  2. 金蝶云星空对接打通管易云其他出库查询接口与其他出库单新增完结接口v2接口

    金蝶云星空对接打通管易云其他出库查询接口与其他出库单新增完结接口v2接口 接通系统:金蝶云星空 金蝶K/3Cloud在总结百万家客户管理最佳实践的基础上,提供了标准的管理模式:通过标准的业务架构:多会 ...

  3. java oracle 触发器_Oracle 触发器

    一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行.因此触发器不需要人为的去调用,也不能调用.然后,触发器的触发条件其实在你定义的时候就已经设定好了.这里面需 ...

  4. 立体出库机显示面板维修机器人出库机操作屏维修

    工业机器人操作与运维工作站维修包括:工业机器人模块.出库变频输送模块.工业视觉检测模块.变位机夹具模块.作业工件仓储模块.样件摆放平台.搬运编码模块与扩展模块.多种末端工具模块.PLC与人机界面模块等 ...

  5. 金蝶云星空与旺店通·企业版对接集成其他出库查询打通创建其他出库单

    接通系统:金蝶云星空 金蝶K/3Cloud结合当今先进管理理论和数十万家国内客户最佳应用实践,面向事业部制.多地点.多工厂等运营协同与管控型企业及集团公司,提供一个通用的ERP服务平台.K/3Clou ...

  6. 旺店通·企业奇门对接打通金蝶云星空查询销售出库单接口与销售出库新增接口

    接入系统:旺店通·企业奇门 慧策最先以旺店通ERP切入商家核心管理痛点--订单管理,之后围绕电商经营管理中的核心管理诉求,先后布局流量获取.会员管理.仓库管理等其他重要经营模块.慧策的产品线从旺店通E ...

  7. 反写规则-销售订单关闭后不允许出库 (销售订单-销售出库单)

    转载于:https://www.cnblogs.com/RogerLu/p/11151798.html

  8. MySQL小的出库入库_根据出库、入库表,实现对库存的信息查询

    数据库:mysql 要求:多个仓库.多个产品 表:1.入库凭证表 t_rkpz 2.入库明细表 t_rkpzmx 3.出库凭证表 t_ckpz 4.出库凭证表 t_ckpzmx 说明:两对主从表 [( ...

  9. SpringBoot+MyBatisPlus+Swagger2.7规范开发接口流程(以废料包材入库与出库为例)

    场景 SpringBoot+Swagger2实现可视化API文档流程: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/936166 ...

最新文章

  1. Tensor基础实践
  2. [armv9]-ARMV8/ARMV9安全架构介绍(ARMv9 CCA)
  3. [转]Linux系统下yum和apt-get的区别
  4. Spring Boot中的Properties
  5. python打包加版本信息_使用pyi-set_version为PyInstaller打包出来的程序附加版本信息...
  6. vue2中的keep-alive使用总结及注意事项
  7. C++ Programmer's Cookbook C++基础和C++高级
  8. Leetcode每日一题:290.word-pattern(单词规律)
  9. wcf中如何Host多个WCF服务?
  10. 项目经理必备的8种能力,最后一个90%的PM都认同!
  11. latex表格排版指南
  12. go实现零停机重启和代码升级endless
  13. web标准是html5推出的标准,HTML5 标准规范完成了
  14. Matlab论文插图绘制模板第81期—极坐标折线图(Polarplot)
  15. 汉语拼音方案里的O(哦)和 UO(窝)
  16. 《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——第2章 图形化建模 2.1开始...
  17. 《数据结构》—— 二叉树的复制、查深度与算结点操作
  18. Browser --- 更换bookmark、homepage及常见问题
  19. 用Python制作小游戏
  20. Word中孤行控制解释

热门文章

  1. 为什么电磁炉加热一会就停了 电磁炉加热原理与维修技巧一点通_电磁炉电路图讲解
  2. fd和FILE结构体
  3. android照片编辑软件,美易照片编辑器下载
  4. Excel如何打开两个独立窗口
  5. python 输出纯音频_提取视频中的音频python三行程序搞定
  6. 12项信息安全标准发布 为解决车联网行业“顽疾”提供可靠指导
  7. android如何监听应用进入后台,回到前台时做相应逻辑
  8. Oracle 异常 ORA-01861: literal does not match format string
  9. input表单所有属性【web前端】
  10. [Windows] 哔哩下载姬—B站视频批量下载