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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 那些年我在CSDN追过的安全白帽师傅,respect「建议收藏」

    那些年我在CSDN追过的安全白帽师傅,respect「建议收藏」2019年7月,我来到了一个陌生的专业——网络空间安全专业。作为一个长期以Python数据挖掘和NLP方向为主的学生,突然换大方向,去从事系统安全和逆向分析的研究,还是挺难的,这两年的过程也极其艰辛。依稀记得,换专业当天我下定决心:希望利用未来四年时间,深入学习安全技术,学会撰写高质量论文,并通过分享让更多的初学者了解和入门安全领域。更期盼博士早日毕业,回到家乡贵州继续从事安全技术和大数据分析的教学。

    2022年5月21日
    40
  • 小程序onLaunch事件的坑「建议收藏」

      记一个小程序踩过的坑小程序项目中app.js里面定义了globalData,即全局变量,里面定义了一个token字段需求是这样的,每次进入小程序的时候需要检验该token有没有,没有就请求后台获取token,由于我一开始将该检验函数A放在onLaunch事件里面,但是这个函数A是引入的其他js文件里面的,这时候我在这个js文件里面使用constapp=getApp()的时候发现获…

    2022年4月14日
    49
  • 移动联通基站信息

    移动联通基站信息MCC MobileCountr 国家代码 所有类型的基站都有这个参数 中国大陆的国家代码是 460MNC MobileNetwor 运营商代码 00 02 07 中国移动 01 06 中国联通 03 05 中国电信 LAC LocationArea 小区号 GSM WCDMA 基站 CID CellID

    2025年6月19日
    2
  • Redis配置文件详解

    Redis配置文件详解redis是一款开源的、高性能的键-值存储(key-valuestore),和memcached类似,redis常被称作是一款key-value内存存储系统或者内存数据库,同时由于它支持丰富的数据结构,又被称为一种数据结构服务器(datastructureserver)。编译完redis,它的配置文件在源码目录下redis.conf ,将其拷贝到工作目录下即可使用,下面具体解释r

    2022年4月27日
    53
  • 大约session_cached_cursors在不同的db在默认不同的版本号

    大约session_cached_cursors在不同的db在默认不同的版本号

    2022年1月5日
    43
  • 建站神器:Hexo+Kaze+Gitee Pages 搭建静态博客网站

    建站神器:Hexo+Kaze+Gitee Pages 搭建静态博客网站▲点击上方公众号名称,置顶或星标@蜗牛互联网这是蜗牛互联网的第74期原创。作者l白色蜗牛来源l蜗牛互联网(ID:woniu_internet)转载请联系授权(微信ID:91…

    2022年9月2日
    14

发表回复

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

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