目录
环境
文档用途
详细信息

环境
系统平台:Microsoft Windows (64-bit) 10
版本:5.6.5
文档用途
本文章主要介绍oracle触发器转换成瀚高的触发器需要做哪些操作,主要修改哪些东西。

详细信息
Oracle触发器转换为HighGoDB触发器
1、创建触发器函数

将Oracle触发器的逻辑封装成触发器函数

2、创建触发器

创建触发器

创建触发器函数
转化为HighGoDB的触发器,步骤:

第一步,将Oracle触发器主逻辑封装成HighGoDB触发器函数

①、使用NEW替换:NEW,使用OLD 替换:OLD

②、函数返回类型为trigger最后return NEW 或者return NULL均可;

③、inserting updating deleting 替换成(TG_OP = ‘INSERT’) (TG_OP = ‘UPDATE’) (TG_OP = ‘DELETE’)

举例:

oracle触发器:

create or replace trigger "TRIG_ARCHIVE_HASTEN"before insert  or delete or update on td_archive_hastenfor each rowdeclareisHasArchive number;beginif inserting or updating thenselect count(*)into isHasArchivefrom td_status_tempwhere businessid = :new.businessid;if (isHasArchive > 0) thenupdate td_status_tempset status = 1where businessid = :new.businessid;elseinsert into td_status_temp(businessid, status)values(:new.businessid, 1);end if;elsif deleting thenselect count(*)into isHasArchivefrom td_status_tempwhere businessid = :old.businessid;if (isHasArchive > 0) thenupdate td_status_tempset status = 1where businessid = :old.businessid;elseinsert into td_status_temp(businessid, status)values(:old.businessid, 1);end if;end if;end trig_archive_hasten;

转换成瀚高后的语法:

create or replace function TRIG_ARCHIVE_HASTEN()returns triggeras $$declareisHasArchive number;beginif(TG_OP = 'INSERT') or (TG_OP = 'UPDATE') thenselect count(*)into isHasArchivefrom td_status_tempwhere businessid = new.businessid;if (isHasArchive > 0) thenupdate td_status_tempset status = 1where businessid = new.businessid;elseinsert into td_status_temp(businessid, status)values(new.businessid, 1);end if;elsif (TG_OP = 'DELETE') thenselect count(*)into isHasArchivefrom td_status_tempwhere businessid = old.businessid;if (isHasArchive > 0) thenupdate td_status_tempset status = 1where businessid = old.businessid;elseinsert into td_status_temp(businessid, status)values(old.businessid, 1);end if;end if;return new;end;$$ language plpgsql;

创建触发器
第二步,创建触发器

创建触发器时,不需要replace 然后 on表直接 for each row execute procedure 加触发器函数

create trigger TRIG_ARCHIVE_HASTENbefore insert  or delete or update on td_archive_hastenfor each rowexecute procedure TRIG_ARCHIVE_HASTEN();

Oracle触发器转写成瀚高触发器相关推荐

  1. ORACLE PL/SQL编程之八: 把触发器说透

    本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8.2.2 创建DML触发器 8.2. ...

  2. ORACLE PL/SQL编程之八:把触发器说透

    ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之八: 把触发器说透 大家一定要评论呀,感谢!光发表就花了我将近一个下午. 本篇主要内容如下: 8.1 触发器类型 8. ...

  3. oracle 触发器管理(以及行级触发器中有两个伪变量 :new 与 :old 的使用方法)(三个谓词inserting、deleting、updating的使用方法)

    oracle触发器管理: 1.概念 2.建立一个简单的触发器: 3.触发器的作用 4.触发条件 a.触发事件 b.触发时间 c.触发级别 d.触发限制 e.触发对象 5.创建及使用触发器 6.触发器分 ...

  4. Java 技术篇 - java同时连接多种数据库执行sql语句的兼容性验证,数据库类型包括:oracle、sqlserver、DB2、人大金仓、达梦、PG、瀚高、polardb

    Java 操作多类型数据库下的兼容性验证 第一章:数据库测试 ①[ oracle 数据库不支持分号]ORA-00933: SQL 命令未正确结束 ② [sqlserver 数据库不支持 commit] ...

  5. oracle 一个表上的多个触发器的执行顺序

    oracle 一个表上的多个触发器的执行顺序如下: before statement trigger->before row trigger->after row trigger-> ...

  6. azure云上 在线将oracle单实例扩展成oracle dataguard高可用集群的详细过程

    <->环境准备          线上单实例oracle11g(PD1),已经运行了一段时间,属于单点实例,按照云上一不小心发生的vm文件故障来看,这个很危险,所以需要做高可用. 所以今天 ...

  7. 在mysql中怎么写触发器_mysql触发器怎么写

    1.mysql 触发器怎么写 我有books 和 info 表. books表中有 ISBN Allbooks BorrowsBooks info 表有 ISBN Userno Yesorno 当我的 ...

  8. Oracle数据库中stragg()函数,在瀚高数据库中如何替换使用?

    瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台:Microsoft Windows (64-bit) 10 版本:6.0 文档用途 用于解决怎么在瀚高数据库中实现和Oracle数据库中st ...

  9. 用555定时器接成的施密特触发器电路/滞回电压比较器中,用什么方法能调节回差电压的大小?包含工作原理与应用

    一.简答: 电源电压或外接控制电压改变时,可以改变回差电压的大小. 二.施密特触发器电路工作原理: 滞回电压比较器,又名施密特触发器,有两个稳定状态,与一般触发器不同的是,施密特触发器采用电位触发方式 ...

  10. mysql 列名能不能写成col1、col2_Mysql 寒假刷题TIPs

    ##mysql数据库事务### 数据库事务(简称:事务)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元. 1. 主键 超键 候选键 外键 主 键:数据库表中对储存数据对象予以唯 ...

最新文章

  1. 90 后利用平台漏洞薅羊毛,获利 45 万被抓捕!网友们却争论不休……
  2. 全网最具深度的三次握手、四次挥手讲解,深夜思考
  3. ansible 安装和使用
  4. 单片机 c语言 按键长按短按,求助:单片机一键长按与短按按键实现的c程序有问题...
  5. POJ3585-Accumulation Degree【树形dp,二次扫描与换根法】
  6. 31 | 深度和广度优先搜索:如何找出社交网络中的三度好友关系?
  7. mysql 共享锁_mysql有排他锁为什么还需要共享锁呢?
  8. cc笔记_robotium_01
  9. c语言九宫格拼图程序,C语言简单游戏编程学习入门之九宫格拼图
  10. Hadoop集群搭建(超级详细)
  11. 机械CAD中如何设置重叠图形消隐?
  12. 练习5:MySQL数据插入、更新与删除
  13. php 关于php时区时间错误问题 date 当前时间 时差(转载)
  14. 感应熔炼设备市场现状及未来发展趋势分析
  15. [198].打家劫舍
  16. fastdb 简介 查询语言
  17. 微型断路器的选择使用
  18. 时光荏苒,白驹过隙。2018年总结!
  19. 看携程如何借助“预测式外呼”提高呼叫效率
  20. 字体生成GAN(GlyphGAN)学习笔记

热门文章

  1. 如何关掉visual studio 2012 实时调试器
  2. 用acts_as_paranoid 做假删除
  3. WTL for MFC Programmers, Part VI - Hosting ActiveX Controls
  4. 编程题(买帽子求第三便宜价格)
  5. rbd feature
  6. Mysql 1864 主从错误解决方法
  7. 大数据平台自动化运维,数据中心运维平台
  8. hp打印机被识别为了usb大容量存储
  9. 计算上周一开始时间戳
  10. OpenCV鼠标修改图片透明度