广告
返回顶部
首页 > 资讯 > 数据库 >Oracle行级触发器的使用
  • 940
分享到

Oracle行级触发器的使用

Oracle行级触发器Oracle触发器使用 2023-05-12 05:05:08 940人浏览 薄情痞子
摘要

oracle行级触发器的使用 1、创建触发器并使用dblink在插入时进行数据同步 异库异表同步 create or replace trigger triggerName --触发器名称 after insert on

oracle行级触发器的使用

1、创建触发器并使用dblink在插入时进行数据同步

异库异表同步

create or replace trigger triggerName --触发器名称
after insert on tableName  --操作的表
for each row ——行级触发器
declare --这里是关键的地方,在变量申明的地方,指定自定义事务处理。
pragma autonomous_transaction;
begin
insert into "test_user"@Mysqltwo ("USERID","USERNAME") VALUES (:NEW.USERID,:NEW.USERNAME);
--这里需要显示提交事务
commit;
end;

同库异表同步

create or replace trigger triggerName --触发器名称
after insert on tableName  --操作的表
for each row ——行级触发器
begin
insert into test_user (USERID,USERNAME) VALUES (:NEW.USERID,:NEW.USERNAME);
--这里不需要显示提交事务
--commit;
end;

Oracle 行级触发器Trigger中有:new,:old两个特殊变量,当触发器为行级触发器的时候,触发器就会提供new和old两个保存临时行数据的特殊变量,我们可以从俩个特殊的变量中取出数据执行扩张表的DML操作

扩展

after 与 before驱别在两种情况下可体现差别
第一种情况:DML语句执行失败时,如触发器使用before,则不会考虑语句是否执行成功,皆触发;如使用after,因为报错不会继续执行而产生触发;
第二种情况:在进行DML操作前,验证对应操作合法性,那么触发器必须使用before

关于ORA-04091异常的出现原因:

在Oracle中执行DML语句的时候是需要显示进行提交操作的。当我们进行插入的时候,会触发触发器执行对触发器作用表和扩展表的种种操作,但是这个时候触发器和插入语句是在同一个事务管理中的,因此在插入语句没有被提交的情况下,我们无法对触发器作用表进行其他额外的操作。如果执行其他额外的操作则会抛出如上异常信息

我们知道,出错的原因是因为触发器和DML语句在同一事务管理中,所以方案一便是将触发器和DML语句分成两个单独的事务处理。这里可以使用Pragma autonomous_transaction; 告诉Oracle触发器是自定义事务处理。

到此这篇关于Oracle行级触发器的使用的文章就介绍到这了,更多相关Oracle行级触发器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle行级触发器的使用

本文链接: https://www.lsjlt.com/news/202055.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle行级触发器的使用
    oracle行级触发器的使用 1、创建触发器并使用dblink在插入时进行数据同步 异库异表同步 create or replace trigger triggerName --触发器名称 after insert on...
    99+
    2023-05-12
    Oracle行级触发器 Oracle触发器使用
  • Oracle行级触发器的使用操作
    Oracle行级触发器的使用 1、创建触发器并使用dblink在插入时进行数据同步 异库异表同步 create or replace trigger triggerName --触发...
    99+
    2023-05-19
    Oracle行级触发器 Oracle触发器使用
  • Oracle DML触发器和DDL触发器怎么使用
    今天小编给大家分享一下Oracle DML触发器和DDL触发器怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-07-05
  • Oracle的触发器trigger如何使用
    本篇内容主要讲解“Oracle的触发器trigger如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle的触发器trigger如何使用”吧!一、触发器定义Oracle触发器是使用者...
    99+
    2023-06-29
  • Oracle 触发器trigger使用案例
    目录一、触发器定义二、触发器分类三、触发器功能四、触发器语法五、触发器使用案例案例1:向job1表中插入一条数据后输出 欢迎加入 语句案例2:数据校验,不允许星期二和星期四向emp1...
    99+
    2022-11-13
  • Oracle触发器trigger怎么使用
    Oracle触发器(trigger)用于在指定的数据库操作发生时自动执行一段特定的代码,可以用于数据插入、更新或删除时执行特定的操作...
    99+
    2023-08-15
    Oracle trigger
  • 如何在Oracle中使用触发器
    如何在Oracle中使用触发器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。触发器类型触发器在数据库里以独立的对象存储,它与存储过程和函数...
    99+
    2022-10-18
  • Oracle中的触发器trigger
    触发器是指被隐含执行的存储过程 一、创建DML触发器(before/after) 1、行触发器: 当一个DML操作影响DB中的多行时,对于其中复合触发条件的每行均触发一次(for e...
    99+
    2022-11-13
  • Oracle Trigger触发器的正确使用方法
    Oracle Trigger是一种在数据库中定义的特殊对象,它可以在特定的数据库操作(如插入、更新或删除)发生时自动触发相关的操作。...
    99+
    2023-09-23
    Oracle
  • Oracle Form触发器执行顺序是怎样的
    这篇文章主要讲解了“Oracle Form触发器执行顺序是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle Form触发器执行顺序是怎样的”...
    99+
    2022-10-19
  • MYSQL触发器的使用
    概念:触发器是一种特殊的储存过程,在满足定义条件操作时触发,并且自动执行触发器中预先设定好的定义的语句集合 触发器是特殊的储存过程 触发器是在对表操作时,满足条件就可以自动调用预先编译的sql语句 安全性 可以基于数据库的值使用户...
    99+
    2021-10-21
    MYSQL触发器的使用
  • oracle触发器中如何使用自治事务
    小编给大家分享一下oracle触发器中如何使用自治事务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!采用自治事务的方式,可以在trigger里rollback or commit; 例子如...
    99+
    2022-10-18
  • MySQL触发器trigger的使用
    Q:什么是触发器?A:  触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的特性:  1、有begin end体,begin end;之间的语句可以写的简单或者复杂 ...
    99+
    2022-10-18
  • Oracle触发器的功能有哪些
    Oracle触发器的功能有以下几个:1. 数据完整性约束:通过触发器可以对插入、更新或删除操作进行约束,确保数据的完整性。例如,可以...
    99+
    2023-10-08
    Oracle
  • 【MySQL触发器】触发器的使用、创建、修改及删除
    目录 一、什么是触发器 二、创建触发器 ①创建一个insert事件触发器 ②创建一个delete 事件触发器  三、触发器包含多条执行语句 四、查看触发器  ①SHOW TRIGGERS语句查看触发器 ②查看系统表triggers实现查看触...
    99+
    2023-09-17
    mysql 数据库 sql database
  • 使用MySQL触发器的教程
    下文主要给大家带来使用MySQL触发器的教程,希望这些内容能够带给大家实际用处,这也是我编辑使用MySQL触发器的教程这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。MySQL包含对触发器的支持。触...
    99+
    2022-10-18
  • 使用mysql触发器的方法
    这篇文章主要讲解了使用mysql触发器的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。什么是触发器:触发器用来在某些操作之后,“自动”执行一些操作。(比如插入了新的学生信息...
    99+
    2022-10-18
  • MySQL触发器的使用详解
    目录1.为什么需要触发器2.触发器概述3.触发器的创建3.1语法3.2 案例演示4.查看触发器5.删除触发器总结1.为什么需要触发器 有一些表是互相关联的,比如说商品表和库存表,我们...
    99+
    2022-11-13
  • mysql触发器的使用方法
    本篇内容主要讲解“mysql触发器的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql触发器的使用方法”吧!说明触发器可以帮助应用于数据库,以确保数据的完整性、日志记录、数据验证等...
    99+
    2023-06-20
  • Oracle触发器表发生了变化 触发器不能读它的解决方法(必看)
    出现原因,是因为在更新的的表和读取的表是同一个表。 CREATE or replace TRIGGER T_userupdateT BEFORE update ON T_user REFERE...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作