Oracle触发器写法和举例[通俗易懂]

Oracle触发器写法和举例[通俗易懂]1、declare声明变量后的每个变量都要加分号;2、所有的语句结束和sql语句结尾,都要加分号;3、变量赋值variable:=’1234’如:recordId:=’1234′;4、插入列数据获取:new.colname如:new.exec_record_id5、sql查询写入变量selectcolnameintovariable如:sel…

大家好,又见面了,我是你们的朋友全栈君。

1、declare 声明变量后的每个变量都要加分号;
2、所有的语句结束和sql语句结尾,都要加分号;
3、变量赋值 variable :=’1234′
   如:recordId := ‘1234’;
4、插入列数据获取 :new.colname 
   如:new.exec_record_id
5、sql查询写入变量 select colname into variable
   如: select verify_date into execDate   from orders_executed_record where record_id=’1234′;

 

触发器举例:

CREATE OR REPLACE TRIGGER "TR_NUTRITION"
 after update on inp_bill_detail
  for each row
declare
    myexp exception;
    execDate date;
    recordId varchar2(30);
begin
    recordId :=:new.exec_record_id;
    if :new.exec_record_id is not null then
        select nvl(oen.verify_date,oer.execute_date_time) into execDate
        from orders_executed_record oer left join orders_executed_nutrition oen on oer.record_id=oen.record_id
        where oer.record_id = recordId ;
        if execDate is not null then
           raise myexp;
         end if;
    end if;
    exception
        when myexp then raise_application_error('-20002', '计费后,执行(核对)日期不能为空,计费ID=' || :new.detail_no || ' 执行ID=' || recordId);
end ;

   

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159865.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm没有setting_pycharm怎么配置python环境变量

    pycharm没有setting_pycharm怎么配置python环境变量问题:pycharm无法加载pip3安装包报错:pythonpackingtoolsnotfound.installpackingtools通过卸载重装pip3都没有用解决方法:更新一下setuptools就好啦sudopip3installsetuptools–upgradesudopipinstallsetuptools–upgrade…

    2022年8月27日
    7
  • Jenkins(3)拉取git仓库代码,执行python自动化脚本[通俗易懂]

    Jenkins(3)拉取git仓库代码,执行python自动化脚本[通俗易懂]前言python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了新建项目打开Jenkins新建一个自由风格的项目源码管理Repository

    2022年7月29日
    6
  • 解决TortoiseSVN中out of date问题的一个方法

    解决TortoiseSVN中out of date问题的一个方法

    2021年10月17日
    51
  • 大数据开发之Hadoop篇—-jps命令的剖析「建议收藏」

    我们在大数据的日常生产当中会经常使用到jps命令,如果问起很多人他们都会知道jps命令是用来干什么的,查看java相关的进程。但是这个命令是属于哪个组件提供的呢?最起码可以肯定不是linux系统自带的。jps是属于jdk自带的命令,当你机器安装了jdk同时将jdk配置到系统的环境变量当中后,在命令行输入jps就可以查看当前的java进程了。当我们使用hadoop这个用户开启了三个java进…

    2022年4月11日
    36
  • 跟我一起复制一款基于ESP-Drone无人机控制板[通俗易懂]

    跟我一起复制一款基于ESP-Drone无人机控制板[通俗易懂]1、ESP-Drone无人机项目简介ESP无人机是基于ESPRESIFESP32/ESP32-S2Wi-Fi芯片的开源解决方案,可通过Wi-Fi连接到手机应用程序或游戏控制台。ESP无人机具有简单的硬件、清晰和可扩展的代码体系结构,因此该项目可用作为STEAM(科学、技术、工程、数学)的教育平台或其它的控制领域。它的主要代码从CrazyFle开源项目移植而来,采用了GPL3.0协议。关于ESP-Drone更多的信息,请访问:https://hub.fastgit.org/espressi

    2022年8月15日
    4
  • linux网络95值工具,Linux下网络故障排查工具之ping|traceroute和tcptraceroute|mtr工具[通俗易懂]

    linux网络95值工具,Linux下网络故障排查工具之ping|traceroute和tcptraceroute|mtr工具[通俗易懂]服务器运维人员在日常运维服务器的过程中经常会遇到服务器网络故障,有服务器硬件造成的,也有服务商网络问题造成的,也有区域网络问题造成的,这个时候就需要用到ping,traceroute,mtr这三个命令1、ping最简单的网络请求反馈命令ping使用了ICMP回送请求和回送应答报文。ping工具发出去的数据包没有通过tcp/udp协议,但是要经过ip协议。ping命令计算的时间是数据包的往返总时间…

    2022年6月20日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号