-
2022-06-20 11:13:54
ALTER TRIGGER [dbo].[ICStockBill_daying2] on [dbo].[ICStockBill] after insert --更新触发 as BEGIN SET NOCOUNT ON; DECLARE @a VARCHAR (20) --定义变量 SET @a = (SELECT FInterID FROM inserted ) --变量赋值 ,找到对应更新的那一行。 update ICStockBillEntry set FEntrySelfB0857 = (select top 1 b.FQty from ICInventory b where ICStockBillEntry.FItemID = b.FItemID and ICStockBillEntry.FDCStockID=b.FStockID) where finterid =@a end
更多相关内容 -
SQL Server 触发器 表的特定字段更新时,触发Update触发器
2020-12-15 12:12:18代码如下: create trigger TR_MasterTable_Update on MasterTable after update as if update ([Type])–当Type字段被更新时,才会触发此触发器 insert into MasterLogTable select Id ,(Case [Type] when 1 then ... -
【Postgresql】触发器某个字段更新时执行,行插入或更新执行
2020-11-26 19:15:32【Postgresql】触发器某个字段更新时执行,行插入或更新执行1. postgresql触发器2. 触发器的创建及示例1) 字段更新时,触发2) 行插入或更新时,触发3. 触发器的删除参考 1. postgresql触发器 触发器可以理解为一种...【Postgresql】触发器某个字段更新时执行,行插入或更新执行
1. postgresql触发器
触发器可以理解为一种绑定,在某个场景出现时自动做的操作,可以执行复杂的Procedure,也可以是简单的sql;
-
场景可以是:字段更新、行插入、行更新
-
步骤:
1)创建触发器被触发时,需要执行的函数方法;
2)创建触发器,并绑定函数;
2. 触发器的创建及示例
1) 字段更新时,触发
业务场景,当tableA表的num更新的时候,把ID相同的数据的tabelA表的count字段值更新为num*10;
create or replace FUNCTION func_updateposition() RETURNS trigger AS $func_updateposition() BEGIN update tableA set count= num*10 where id = NEW.ID; RETURN NEW; END; $func_updateposition$ LANGUAGE plpgsql; create trigger updatePosition_trigger AFTER UPDATE OF "num" ON tableA FOR EACH ROW EXECUTE PROCEDURE func_updateposition();
2) 行插入或更新时,触发
3. 触发器的删除
触发器是绑定在表的行或者列上的,删除语句中需要指定触发器名称及表名;
drop trigger updatePosition_trigger on tableA;
4. 触发器的坑
- 千万不要表的行列更新,每一行都建立触发器,那样表的数据量大了,会压力贼大;
- 分布式的情况下主外键依赖、触发器尽量不要,会带来额外消耗;
- 触发器可以用在必须的情况下,或者只是某个列字段更新或者插入上,这样会更无感,高效;
参考
-
-
mysql触发器(插入时更新关联表的某个字段)
2021-01-18 11:27:301、为student表建立触发器,当向学生表中插入宿舍id时,自动将dorm表该宿舍已住人数加1 create trigger triggerNumber before insert on student for each row begin if new.dorm_id is not null then update ...数据库表结构
student表
dorm表
1、为student表建立触发器,当向学生表中插入宿舍id时,自动将dorm表该宿舍已住人数加1
create trigger triggerNumber before insert on student for each row begin if new.dorm_id is not null then update dorm set alreadyNumber=alreadyNumber+1 where id=new.dorm_id; end if; end;
2、为student表建立触发器,当删除学生信息时,将关联的宿舍人数减1
create TRIGGER studentDelete before delete on student for each row begin if old.dorm_id is not null then update dorm set alreadyNumber=alreadyNumber-1 where id=old.dorm_id; end if; end;
-
在oracle数据库中的一个表给多个字段添加触发器
2019-11-29 09:37:46完整代码如下: 先创建一个表 create table a( id number(2), MC number(2), gxsj number(2), ...给表的多个字段创建触发器 CREATE OR REPLACE TRIGGER weather_history_update -- weather_history...完整代码如下:
先创建一个表
create table a( id number(2), MC number(2), gxsj number(2), type number(2) )
给表的多个字段创建触发器
CREATE OR REPLACE TRIGGER weather_history_update -- weather_history_update为触发器名称 AFTER update or insert on a --AFTER 指定 触发时间,on后跟表名称,即当表Yjzhaccess.T_SRC_WEATHER_TSPG有更新或者插入时触发时间 for each row --每一行 begin insert into yjzhhistory.t_src_weather (ID,MC,SSXQDM,gxsj,type) --指定插入的表及字段 VALUES(:new.ID,:new.MC,:new.gxsj,:new.type); --将新插入的数据引入到该表中 end;
如图
-
mysql 触发器 在插入之前修改插入的值,隐私字段加密加星号
2021-11-10 17:19:20当数据插入或更新时,通过触发器用mysql的AES加密算法加密后替换原来的值再插入或者修改; 实现: 用Navicat定义触发器 BEGIN set new.phone = to_base64(AES_ENCRYPT( new.phone, 'test-2021-key' )); END new.... -
在SQL中用触发器编写:在插入和修改一行数据的时候自动的读出系统的时间并插入到该表的订购日期字段中。
2021-05-15 00:20:31楼上的答案有缺陷,只能应付一条命令影响一行记录的情形,下面的语句可能影响多条记录,该触发器处理不了: insert Table1 select * from Table2 update Table1 set Field1=xxx where xxx(不止一行) 由此,比较... -
mysql trigger触发器 一张表一个字段改变 更新另一张表对应字段
2021-01-28 07:11:42触发器语句先贴出来:DELIMITER $$CREATE TRIGGER goods_sku_shopprice_trigger AFTER UPDATE ON t_sku FOR EACH ROWBEGINSET @oldPrice = (SELECT t_goods.shop_price FROM t_goods WHERE t_goods.goods_id=new.... -
Oracle触发器修改自身字段解决方案
2021-05-05 05:44:28--创建表结构/*CREATE TABLE TBL_USER(USER_ID INTEGER PRIMARY KEY,UNAME VARCHAR2(20) NOT NULL,UPWD VARCHAR2(20) NOT NULL,LAST_MODIFIED DATE);*/--1、创建程序包CREATE OR REPLACE PACKAGE PKG_TBLUSER_... -
利用触发器来实现插入数据时更新某字段的值
2020-06-08 14:46:31委外工单核发时触发请求“请购单汇入”,将请购单数据插入表:po_requisitions_interface_all 此时没有提供采购单编号req_number_segment1,如果这里不提供,那么依次由请求参数: po_system_parameters_all.next -
oracale 触发器 实现 插入一跳数据时同时在另一个表插入数据,数据库触发器实现id自增
2018-12-25 16:17:581.在packing_list表执行insert插入操作后,同时将数据插入到packing表中 create or replace trigger packing_trg //触发器名称 packing_trg after insert on packing_list //packing_list 表名称 在packing_... -
在ORACLE中利用触发器来实现插入数据时更新某字段的值
2019-03-06 06:11:49我们以在插入某条数据时需要更新其中一个字段的值为例,即sql语句中执行insert操作,在触发器中进行update操作。 解决方案 这个问题说来也简单,首先需要明白oracle触发器的before与after的区别。 详细的了解可以... -
oracle肿么建立一个触发器在表插入数据的时候更新表的另一个字段
2021-05-01 10:01:05假设表a中有多个字段(province ,city)需要从b表获取(两张表的mobile一样),总结了几种写法。一、updatea set a.province=(select province from b where b.mobile=a.mobile);updatea set a.city=(select cityfrom b... -
mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法
2020-12-15 03:45:11需求:把一个表某个字段内容复制到另一张表的某个字段。 实现sql语句1: 代码如下:UPDATE file_manager_folder f1LEFT OUTER JOIN file_manager_folder f2 ON f1.name = f2.name AND f2.parentId = 54SET f1.parentId... -
MySQL触发器初试:当A表插入新记录,自动在B表中插入相同ID的记录
2021-01-28 07:10:22今天第一次用MySQL的触发器,怕忘了,赶紧写篇博客记录一下。废话不说,先上语法:1 CREATE TRIGGERtrigger_name2 { BEFORE | AFTER } { INSERT | UPDATE | DELETE}3 ONtbl_name4 FOREACH ROW5 trigger_body事情的... -
Oracle实现:将表中的数据查出更改某一字段的值后再插入该表
2022-03-03 22:03:32Oracle实现将查询结果进行修改后再批量插入数据库 table_name为你需要查询的表名以及插入的表名 INSERT INTO table_name( SELECT TUNNEL_ID, IS_USED, CASE WHEN CITY = '3604' THEN '3611' ELSE NULL END... -
mysql触发器实现一表插入数据,另一表自动更新新指定数据
2019-06-11 14:54:04CREATE DEFINER=`root`@`localhost` TRIGGER `after_insert` AFTER INSERT ON `student` FOR EACH ROW ... -- 触发器内容主体,每行用分号结尾 update course set grade = grade+1 where new.classid=course.id; en... -
通过oracle的触发器使一个表某个字段进行改变的时候另一个表的某个字段也会进行相应改变
2020-04-10 17:05:261主要涉及两个表一个表用户表sys_user记录了用户信息及用户年龄,另一个表sys_work通过userid关联用户表的userid然后还有一个work字段表示现在的工作状态 2主要就是用触发器在sys_user表用户年龄改变的时候联动改变... -
postgresql通过触发器实现a表插入一条数据时,b表同时插入一条数据
2020-06-24 16:57:58创建触发器函数 CREATE OR REPLACE FUNCTION "public"."insert_test_funcs"() RETURNS "pg_catalog"."trigger" AS $BODY$ BEGIN insert into test2 (a,b,c) VALUES (new.a,new.b,new.c); RETURN NEW; END; ... -
sql update 触发器 获得被update的行的信息(某行的某字段被修改后,自动修改该行的另外一个字段)
2014-02-17 15:42:10sql update 触发器 获得被update的行的信息 create trigger TgName on tb for update as if update(recommend) begin update tb set commenddate=(getdate()) from tb inner join inserted on tb.vlistid... -
如何利用MySQL数据库在插入数据后触发触发器
2021-01-19 17:53:50MySQL数据库支持触发器的功能...触发器的触发事件有before或after,下面利用一个具体实例说明插入数据后触发触发器,如下图所示:1.第一步,创建数据库表t_class_info,利用创建表语句:create table t_class_info(i... -
Oracle触发器 当插入或者更新数据时,将数据同步更新到另外一个用户的一个表中
2021-04-26 17:28:281、当前oracle数据库有两个表,scott用户是系统自带的用户,里面有一个dept表,作为测试使用。同时新建一个test用户,里面也新建一个表dept。当向scott用户的dept表进行插入或者更新时,将数据也同时更新到test用户... -
Mysql触发器 :当一个表发生插入或更新时,将数据同步到另一张表中
2022-01-20 13:00:57AFTER update-- 表示触发器是在激活它的语句之后触发 on tbl_slope for each row – mysql固定语法 BEGIN if EXISTS(SELECT * FROM checkupdates A WHERE A.ID=new.UNIFIEDCODE LIMIT 1) THEN update checkupdates ... -
SQL service 触发器 当一个字段值修改时,修改当前数据其他字段值
2018-05-23 09:48:59问题来源: 公司框架封装严重,导致已有框架不能达到客户需求,寻求解决方案。 ... ...从而达到客户需求。故,在用户表的密码字段被修改后,此触发器触发。更新对应时间。 CREATE TRIGGER tr_PBDM_USER_PASSWO... -
navicat使用触发器在插入记录修改某个字段的值
2019-01-18 10:17:02最近项目遇到了一个问题,查用户的某些字段有NULL会报错,所以想在注册的时候用的触发器提前设置一个默认值,避免空指针, 先在本地建一个测试表t_1,就给三个基本字段 然后右击表选择设计表找到 触发器 开始编辑, 现在... -
oracle 触发器,当一个表更新或插入时将数据同步至另个库中的某个表中
2021-05-08 00:51:38有两个表分别是 A用户下的 T_SRC_WEATHER_TSPG字段如图,B用户下的t_src_weather 表,如图:要求,当A用户下的T_SRC_WEATHER_TSPG表有插入或者更新数据时,同时将数据同步至B用户下的t_src_weather表中,创建触发器,... -
mysql多字段修改update_MySQL触发器教程
2020-10-24 07:57:47https://github.com/Ziphtracks/JavaLearningmanualgithub.com一、什么是触发器触发器(trigger)是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由... -
oracle – PLSQL触发器更新另一个表中的字段值
2021-05-02 03:02:21(我们通常不会期望会发生这种情况,但请考虑如果有人从orig_tab中删除了一行,然后再次插入它会发生什么.(这是在生产中出现的问题,而不是在测试中,在最不合时宜的时间.现在更好地为它做好计划.)BEGINIF inserting ... -
Mysql触发器字段双向更新
2021-10-22 15:09:33业务场景:不同的业务系统共用余额,hjmallind_user和ims_cjdc_user两个表不同的余额字段,但是共用余额值。 触发器定义: DROP TRIGGER IF EXISTS `test-up_ds_wallet`; CREATE TRIGGER `test-up_ds_wallet` ... -
触发器实现当一个表中字段改变时同时改变另一个表中字段值
2017-07-11 21:22:40触发器实现当一个表中字段发生变化时同时改变另一个表中字段 1.建表 新建两个表一个叫做Telephonics用来存放航班全部字段的数据,主键为SelfNum航迹号;另一个一个叫做FlightAndSection用来存放航迹号、航班号、扇区...
收藏数
43,692
精华内容
17,476
相关推荐
-
<em>触发器</em>NULL 博文链接:https://gang-zai.iteye.com/blog/605274
-
sql server<em>触发器</em>.rarsql server <em>触发器</em> 数据库 sql server <em>触发器</em> 数据库
-
sql高级应用包括存储过程,<em>触发器</em>,游标。。。sql高级应用包括存储过程,<em>触发器</em>,游标。。。
-
数据库设计书源码<em>加</em>文档详细的源码及报告,对需要的同学很有帮啊!对计算机的同学更有帮助
-
ASPNET35开发大全第<em>一</em>章9.6.2 使用GridView显示、删除、<em>修改</em>数据 9.6.3 使用DataList显示数据 9.6.4 DataList分页实现 9.6.5 使用SQLHelper操作数据库 9