触发器的增删改(oracle)

触发器实现对插入数据的字段更改 Oracle+SQL Server 最近有个使用触发器实现对插入数据的某个列做更改的需求,因此整理了Oracle和SQL Server对于此类需求的触发器写法,本文仅提到了Insert触发器。 首先我们创建一张表: --创建Test表 Create table test(id int primary key,name varchar(20),sex varchar(1),status int) 我们的目的是实 阅读详情

1.触发器的作用:当对数据库进行增删改时,达到数据的实时更新,这时可以 考虑写一个触发器,下面就是触发器的简单写法
2.相同服务器间触发器的使用;
有两个表,Demo,Demo1,以下为建表语句

create table DEMO
(
  name1 VARCHAR2(255),
  pwd1  VARCHAR2(255),
  id    VARCHAR2(255)
)
create table DEMO1
(
  name1 VARCHAR2(255),
  pwd1  VARCHAR2(255),
  id    VARCHAR2(12)
)

在demo表中增删改,实现在demo1中数据同步,这时需要在demo中添加触发器,以下为触发器代码

CREATE

    TRIGGER test1 before INSERT OR UPDATE OR DELETE 
    ON DEMO
 FOR EACH ROW BEGIN
   case
 when inserting then
   insert into DEMO1(NAME1,PWD1,ID) values(:new.name1,:new.pwd1,:new.id);
  when updating then
    update DEMO1 set name1=:new.name1,pwd1=:new.pwd1 where id=:new.id;
    when deleting then
    delete DEMO1 where name1 =:old.name1;
   end case;
END;

简单介绍:
CREATE TRIGGER //触发器名
BEFORE 或者AFTER // 触发事件 后面加(INSERT OR UPDATE OR DELETE )
ON //建立触发器表名
FOR EACH ROW
BEGIN sql语句 END
在demo中运行insert语句,在demo1中查询数据,会发现数据同步,这时发明触发器运行成功,
3.不同服务器触发器的使用,与同服务器触发器的使用大同小异,只是触发器的代码需要更改,以下为触发器代码

CREATE

    TRIGGER test1 before INSERT OR UPDATE OR DELETE 
    ON system.demo
 FOR EACH ROW BEGIN
   case
 when inserting then
   insert into system1.demo(NAME1,PWD1,ID) values(:new.name1,:new.pwd1,:new.id);
  when updating then
    update system1.demo set name1=:new.name1,pwd1=:new.pwd1 where id=:new.id;
    when deleting then
    delete system1.demo where name1 =:old.name1;
   end case;
END;

介绍:
ON//本地服务器名字.本地需要建立触发器的表名
以插入为例 insert into system1.demo(NAME1,PWD1,ID) ,system1.demo即:另一服务器名字.对应的表名;
对应以上本地服务器的操作,如发现在system.demo中运行增删改system1.demo中数据实时更新,则说明触发器建立成功

**附:DROP TRIGGER //删除触发器
尽可能的一张表只建立一个触发器**

Oracle使用触发器实现两台不同服务器上的数据库的两张表进行数据同步增删改 下面用oracle数据库进行测试,假设使用这两个表,192.168.2.2服务器上用户test1表LEGAL_CASE,192.168.2.3服务器上用户test密码123456表LEGAL_CASE。 需求:只需改动源库192.168.2.2服务器上的表,目标库192.168.2.3服务器上即可自动改变。 条件: 1.两个表能建立DB LINK,即两个数据库所在的服... 阅读详情

相关推荐

Camera metadata

Camera metadata

weixin_42136255的博客 2528

oracle触发器之表,Oracle触发器中增删改查本表

Oracle触发器中增删改查本表 (1)只有before insert触发器中才可以查询或更新本表 create or replace trigger tri_test_ins beforOracle触发器中增删改查本表(1)只有before insert触发器中才可以查询或更新本表create or replace trigger tri_test_insbefore inserton test...

weixin_40005454的博客 1258

ORCAD 层次化原理图使用TCL获取位号的方法

orcad tcl 获取occurrence位号的方法。

m0_46675718的博客 1126

如何在Oracle数据库中删除所有表、触发器和序列

本文介绍了如何使用PL/SQL代码在Oracle数据库中删除所有表、触发器和序列。这些操作在重置数据库或进行测试时非常有用,但请务必谨慎执行,以免造成不可逆的损失。

搬砖的小熊猫的博客 1739

单片机NTC热敏电阻测温:六种实用电路方案与选型指南

本文详细介绍了单片机系统中NTC热敏电阻测温的六种实用电路方案,包括分压法、恒流源法、RC充放电法、电桥法、频率法及集成专用IC方案,并提供了关键的硬件选型指南和软件处理技巧,帮助工程师实现高精度、低成本的温度测量。

herb5的博客 818

Android SDK 国内镜像及配置方法(2025最新,包好使!)

android sdk 国内镜像配置方法,纯小白避坑指南,2025最新,亲测包好使!还有包奉上!

土豆是狗的博客 4673

Oracle触发器之表新增/修改的触发操作

Oracle触发器之表新增/修改的触发操作 Oracle创建触发器,若是本地触发,加数据库名即可;如果是远程服务器,做一个db_link操作即可。 教学代码 建表: create table User_Info ( ID INTEGER not null, UserName ...

YunWisdom 4266

Comsol 超声空化气泡仿真

当液体中受到高能量的超声波作用时,液体中的压力会发生剧烈变化,形成局部的低压区域。当液体中的压力降低到饱和蒸汽压以下时,就会发生空化现象,即液体中形成微小气泡。这种空化常用于一些工业应用,如清洗、乳化、混合等。这种空化常用于一些医学和生物学应用,如碎石术、肿瘤治疗、细胞破碎等。超声空化的应用非常广泛。在医学领域,超声空化广泛应用于诊断和治疗,如超声造影、超声刀、超声碎石术等。在工业领域,超声空化可用于清洗、乳化、混合等工艺。此外,超声空化还在食品加工、化学合成、环境保护等领域有着重要应用。

声学黑洞仿真工作室 2555

oracle触发器中增删改查本表

oracle触发器中增删改查本表 (1)只有before insert触发器中才可以查询或更新本表 (2)before/after update、before/after delete、after insert5种情况都不可以查询或更新本表。 (3)使用自治事务可以实现任意触发器查本表。但不能实现在自治事务中更新本表。 (4)使用自治事务可以实现新增或删除本表的记录。这种情况一般不会用到。

sxdtzhp的专栏 7590

基于STM32设计的智能水产养殖系统(华为云IOT)(152)

当前设计的智能水产养殖系统主控芯片采用STM32F103RCT6,可以实现对水位、水温、水混浊度和PH值等参数的监测和控制,并且支持定时投喂功能。通过连接华为云物联网平台,将传感器数据上传到服务器,并通过Qt设计的Android手机APP来获取设备上传的数据,从而实现对养殖环境的远程监测和控制。

8828

【图像去噪】基于偏微分方程(PDE)实现图像去噪附matlab代码

在工程应用中,图像信息通过数字图像系统进行处理、存储和传输等加工变换时,由于不可避免地受到噪声干扰,使得原始图像信息产生偏差和失真,给图像的后续处理带来不便,进而影响人们对图像视觉特性的认知程度。因此,为了改善图像的质量效果,提高人们对图像视觉特性的认知度,对图像噪声进行有效去除,降低噪声对图像信息的干扰是很有必要的。近年来,基于偏微分方程( partial differential equation,PDE) ​的图像去噪方法在计算机视觉和图像处理等技术领域得到了广泛的重视,因为它在平滑噪声的同时,能够很

qq_59747472的博客 855

oracle触发器之数据的增删改

现有如下四张表,其中SCORE_A表中的stu_a_id对应STU_A的id,SCORE_B表中的stu_b_id对应STU_B的id;   基本语法: create [or replace] trigger name_trigger--自己定义的触发器名字 {before | after | instead of} {insert [or update] [or delete]} ...

qq_27493017的博客 2121

把 SAP ABAP ALE 与 IDoc 玩明白:从架构、配置到排错的一套闭环方法

本文介绍了SAP集成中ALE与IDoc的核心概念与实战应用。ALE作为SAP分布式应用框架,通过异步消息机制实现系统间数据交换,其三层架构隔离业务与传输细节。IDoc作为标准化消息容器,包含控制、数据和状态记录。文章详细解析了配置要点(端口、伙伴参数)、处理流程(Process Code)、排错工具(BD87、WE09)及同系统测试方法,并提供了发送程序代码骨架。通过架构认知→配置→开发→运维的完整路径,帮助读者掌握ALE/IDoc的实际操作技能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 221

《Oracle系列》Oracle 通过触发器记录一张表所有数据的增删改操作,然后插入到另外一张表中

首先,创建一个目标表,用于存储所有的增删改操作。这个表应该包含足够的列来记录操作类型、操作的时间戳、原始表中受影响的行的主键等信息。这样,你就可以使用触发器在Oracle数据库中记录一张表的所有数据的增删改操作,并将它们插入到另一张表中以进行审计或日志记录。创建一个触发器,它会在原始表的增删改操作发生时自动触发,并将操作的详细信息插入到记录表中。插入、更新或删除原始表中的数据时,触发器将会记录这些操作并将它们插入到。替换为要跟踪操作的原始表的名称,并根据需要调整列名和列数据类型。创建记录操作的目标表。

劉煥平CHN 2223

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

修改oracle 触发器,触发器实现对表增删改的记录

本帖最后由 lihy114 于 2013-10-28 11:11 编辑目的是想将对表名为a_user的表进行的增删改操作以及相应数据记录,a_user的表结构为(CODE_OLD VARCHAR2(30),NAME_OLD VARCHAR2(30),CORPID_OLD VARCHAR2(10),CODE_NEW VARCHAR2(16),NAME_NEW ...

weixin_31455121的博客 843

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Oracle表的创建,序列和触发器,增删改查,删表

--Oracle表的创建,序列和触发器,增删改查,删表 -- 创建学生表student information table CREATE TABLE SCOTT.STUDENTINFO ( "ID" NUMBER(4), "NAME" VARCHAR2(40 BYTE), "STUNO" VARCHAR2(40 BYTE), "AGE" NUMBER(4), "SCORE" NUMBER(4) ) -- 创建索引 sequence CREATE SEQUENCE

博弈星宇 449

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

mysql触发器识别增删改_Oracle触发器中增删改查本表

Oracle触发器中增删改查本表 (1)只有before insert触发器中才可以查询或更新本表 create or replace trigger tri_test_ins beforOracle触发器中增删改查本表(1)只有before insert触发器中才可以查询或更新本表create or replace trigger tri_test_insbefore inserton test...

weixin_39616222的博客 145

oracle触发器中增删改查本表 -自治事务

oracle触发器中增删改查本表   (1)只有before insert触发器中才可以查询或更新本表 ? 1 2 3 4 5 6 7 8 9 10 11 create or replace trigger tri_test_ins befor

毅个混蛋的专栏 2884

oracle 触发器 增删改,Oracle开发触发器(增删改)一例

需求描述:新增表table_a一条记录 后,在table_b中记录这条新记录;修改表table_a 一条记录后,查找table_b还有没有对应的记录,如果有,则同样更新;如果没有,则再次记录它,并作已更新标记;删除表table_a 一条记录后,查找table_b还有没有对应的记录,如果有,则删除它;如果没有,则再次记录它,并作已删除标记;为什么table_b的记录不总是与table_a 对应呢?因...

weixin_35789559的博客 488

ORACLE触发器增删改(一张表增删改另一张表)

今天弄ORACLE触发器一张表增删改另一张表遇到了很多问题,百度一大堆全不是我想要的完美。 首先贴出我参考过觉得比较好的博文: https://www.cnblogs.com/zjfjava/p/9155171.html 这篇博文主要觉得他说的 IF UPDATING(字段) THEN XXXXX END IF;很有用; https://blog.youkuaiyun.com/bk_h...

qq_20696007的博客 819

删除oracle触发器语句,Oracle触发器中增删改查本表

Oracle触发器中增删改查本表(1)只有before insert触发器中才可以查询或更新本表create or replace trigger tri_test_insbefore inserton testfor each rowdeclarev_cnt integer;beginselect count(*) into v_cnt from test;dbms_output.put_lin...

weixin_34404599的博客 414

oracle的触发器增删改实例

为什么80%的码农都做不了架构师?>>> ...

weixin_33851429的博客 99
下一篇: dblink链接数据库简介(oracle)
只会debug
博客等级 码龄9年 69粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值