2 vwyellow VWYellow 于 2016.04.20 13:44 提问

数据库insert,update触发器怎么同时写在一个触发器里

数据库里有A表和B表,A表新增数据的时候,也往B表里新增数据,A表在修改数据的时候,B表会记录这条数据,同样是新增数据,但是当这条数据再次被修改时,B表里的记录永远是修改后的数据,求告知触发器insert 与update 写在一起时,是怎么写的

2个回答

huangwenkangz
huangwenkangz   2016.04.20 17:56

create or replace xxx_trg trigger as
after update or insert on table a
for each row
declare

begin
when inserting then
insert into b
end ;

 when updating then
    select count(*)  from b
        if count(*) > 0 then
          update b;
        else
          insert into b
        end;
 end;

end;

CSDNXIAOD
CSDNXIAOD   2016.04.20 13:52

mysql在insert触发器里update当前数据
update触发器
Oracle数据库update触发器
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mysql insert与update触发器
前言背景最近做的一个项目某一个功能模块必须要下线,这个模块又很重要,因为牵扯到修改用户的相关状态,不修改用户就不能使用;但是关联的各种客户端APP、IOS、H5新版本开发完成因为某些原因不能上线,为了不影响用户使用,只能从底层的数据库去想想办法,想来想去只有用触发器(trigger)了,虽然会影响一点效率,不过好在只牵涉一张表,而且表数据操作频率不高,而且只用撑过一段时间就可以下掉。 该表有十几个
sql触发器(insert,update,delete)
来源:http://blog.sina.com.cn/s/blog_78106bb101014nep.html --insert 触发器 create trigger tri_insert on student  --将要进行更改的表名 for insert  --给表插入一条数据的时候触发 as declare @student_id char(10) --定义一
创建INSERT、DELETE、UPDATE 触发器示例 .
触发器是基于一个表创建的,但是可以针对多个表进行操作。所以触发器可以用来对表实施复杂的完整性的约束,当触发器所保存的数据发生改变时,触发器所保存的数据发生改变时,触发器被自动激活,从而防止对数据的不正确修改。         下面对每个INSERT、DELETE、UPDATE触发器举一个小例子来加深理解: INSERT触发器:         INSERT触发器就是当对定义触发器的表执行IN
关于mysql 触发器(insert,update)
1. 当表A新增一条记录,表B则跟着添加这条记录 #删除当前触发器 drop TRIGGER IF EXISTS t_edw_event_add_cdr_3; #创建触发器:当ccbill_cdr表新增一条记录,则在edw_event_add_cdr表添加这条记录 CREATE TRIGGER t_edw_event_add_cdr_3 after INSERT ON ccbill_cdr
单个触发器判断Insert/Delete/Update操
问题已解决,分享之: 插入操作(Insert):Inserted表有数据,Deleted表无数据 删除操作(Delete):Inserted表无数据,Deleted表有数据 更新操作(Update):Inserted表有数据(新数据),Deleted表有数据(旧数据) if exists(select 1 from inserted) and exists(select 1 fro
mysql 触发器的使用 FOR INSERT,DELETE,UPDATE
触发器语句中使用了两种特殊的表:deleted 表和 inserted 表。            Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。          Inse
mysql在insert触发器里update当前数据
今天在学习触发器时遇到了一个问题: 为activities表创建一个insert触发器,初始化一些数据 CREATE DEFINER=`root`@`localhost` TRIGGER `initActivities` BEFORE INSERT ON `activities` FOR EACH ROW update activities set activities_date = NOW() where activities_id = new.activities_id; 插入数据时,出现以下错误:
创建INSERT、DELETE、UPDATE 触发器示例
触发器是基于一个表创建的,但是可以针对多个表进行操作。所以触发器可以用来对表实施复杂的完整性的约束,当触发器所保存的数据发生改变时,触发器所保存的数据发生改变时,触发器被自动激活,从而防止对数据的不正确修改。         下面对每个INSERT、DELETE、UPDATE触发器举一个小例子来加深理解: INSERT触发器:         INSERT触发器就是当对定义触发器的表执行IN
oracle中表insert or update or delete触发器
在一个表(User_Info_2017 )上放置一个触发器; 当对它进行insert,update,delete的操作时,触发器(UserToTemp )启动, 把相应的变动数据根据需要放到另外一个表(User_Info_2017_temp )中; chu create or replace trigger UserToTemp after insert or update or dele
1, insert触发器; 2, update触发器; 3, delete触发器;
DML触发器有三类:1, insert触发器; 2, update触发器; 3, delete触发器; 触发器的组成部分: 触发器的声明,指定触发器定时,事件,表名以类型 触发器的执行,PL/SQL块或对过程的调用 触发器的限制条件,通过where子句实现 类型: 应用程序触发器,前台开发工具提供的; 数据库触发器,定义在数据库内部由某种条件引发,分为: DML触发器  数据库级触发器   替代触