mysql触发器有几种(mysql数据库中一个表可以有多少个触发器)

2024-07-11 05:11:56 9

mysql触发器有几种(mysql数据库中一个表可以有多少个触发器)

本文目录

mysql数据库中一个表可以有多少个触发器

可以更新,删除,插入触发器,不同种类的触发器可以存在于同一个表,但同种类的不能有多个。一个更新、一个删除是可以共存的。

mysql的触发器和oracle触发器的区别

oracle触发器格式:在CODE上查看代码片派生到我的代码片CREATE TRIGGER trigger_name BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name DECLARE arg_name type BEGIN pl/sql语句 END MySQL触发器格式:在CODE上查看代码片派生到我的代码片CREATE TRIGGER trigger_name BEFORE|AFTER INSERT|UPDATE|DELETE ON table_name BEGIN DECLARE arg_name1 sql语句 END 创建测试表(建表语句适用于Oracle、MySQL):在CODE上查看代码片派生到我的代码片CREATE TABLE test( id int, name varchar(10), age int, birthday date, description varchar(50), PRIMARY KEY (id) ); CREATE TABLE test_log( id int, dealtime date, dealtype varchar(10), PRIMARY KEY (`id`) ); Oracle触发器和MySQL触发器的区别如下:1,创建语句格式不同Oracle:create or replace(Oracle客户端需要手动提交,MySQL客户端设置的自动提交)在CODE上查看代码片派生到我的代码片SQL》 CREATE OR REPLACE TRIGGER trigger_test_insert 2 BEFORE INSERT ON test 3 FOR EACH ROW 4 BEGIN 5 insert into test_log values(1,sysdate,’insert’); 6 END; 7 / Trigger created SQL》 insert into test(id, name) values(1, ’name’); 1 row inserted SQL》 commit; Commit complete SQL》 select * from test_log; ID DEALTIME DEALTYPE --------------------------------------- ----------- ---------- 1 2014/7/16 1 insert MySQL:不包含or replace在CODE上查看代码片派生到我的代码片mysql》 delimiter $ CREATE TRIGGER trigger_test_insert BEFORE INSERT ON test FOR EACH ROW BEGIN insert into test_log values(1,now(),’insert’); END$ delimiter ; Query OK, 0 rows affected mysql》 insert into test(id, name) values(1, ’name’); Query OK, 1 row affected mysql》 select * from test_log; +----+------------+----------+ | id | dealtime | dealtype | +----+------------+----------+ | 1 | 2014-07-16 | insert | +----+------------+----------+ 1 row in set 2,变量的声明位置、声明格式均不相同Oracle:声明位置在触发时的执行语句块外部通过%type的方式将变量与表特定字段类型相关联的好处是:在某些情况下,修改该字段类型时不需要修改触发器(如:字段类型由varchar(10)修改为varchar(20)时,不需要修改触发器)在CODE上查看代码片派生到我的代码片SQL》 CREATE TRIGGER trigger_test_insert 2 BEFORE INSERT ON test 3 FOR EACH ROW 4 DECLARE id1 int default 1; 5 id2 int:=1; 6 id3 test_log.id%type:=1; 7 BEGIN 8 insert into test_log values(id1+id2+id3,sysdate,’insert’); 9 END; 10 / Trigger created SQL》 insert into test(id, name) values(1, ’name’); 1 row inserted SQL》 commit; Commit complete SQL》 select * from test_log; ID DEALTIME DEALTYPE --------------------------------------- ----------- ---------- 3 2014/7/16 1 insert MySQL:声明位置在触发时的执行语句块内部在CODE上查看代码片派生到我的代码片mysql》 delimiter $ CREATE TRIGGER trigger_test_insert BEFORE INSERT ON test FOR EACH ROW BEGIN DECLARE id1 int DEFAULT 1; DECLARE id2 int DEFAULT 1; insert into test_log values(id1+id2,now(),’insert’); END$ delimiter ; Query OK, 0 rows affected mysql》 insert into test(id, name) values(1, ’name’); Query OK, 1 row affected mysql》 select * from test_log; +----+------------+----------+ | id | dealtime | dealtype | +----+------------+----------+ | 2 | 2014-07-16 | insert | +----+------------+----------+ 1 row in set 3,注释符不同Oracle:使用/* */作为注释符,或者两个连续的-作为注释符(PL/SQL块中至少包含一条可执行语句)在CODE上查看代码片派生到我的代码片CREATE OR REPLACE TRIGGER trigger_test_insert BEFORE INSERT ON test FOR EACH ROW BEGIN --just a test /* just a test */ null; END; / MySQL:使用/* */作为注释符,或者两个连续的-后加一个空格作为注释符在CODE上查看代码片派生到我的代码片delimiter $ CREATE TRIGGER trigger_test_insert BEFORE INSERT ON test FOR EACH ROW BEGIN /* just a test */ -- 两个‘-’后面必须带空格 END$ delimiter ; 4,赋值语法不同Oracle:可以通过select into语句赋值,还可以通过:=进行赋值在CODE上查看代码片派生到我的代码片SQL》 CREATE OR REPLACE TRIGGER trigger_test_insert 2 BEFORE INSERT ON test 3 FOR EACH ROW 4 DECLARE id int; 5 BEGIN 6 select max(tl.id) into id from test_log tl; 7 if id is null then 8 id:=1; 9 else 10 id:=id+1; 11 end if; 12 insert into test_log values(id,sysdate,’insert’); 13 END; 14 / Trigger created SQL》 insert into test(id, name) values(1, ’name’); 1 row inserted SQL》 commit; Commit complete SQL》 select * from test_log; ID DEALTIME DEALTYPE --------------------------------------- ----------- ---------- 1 2014/7/16 1 insert MySQL:可以通过select into语句赋值,还可以通过set语句进行赋值在CODE上查看代码片派生到我的代码片mysql》 delimiter $ CREATE TRIGGER trigger_test_insert BEFORE INSERT ON test FOR EACH ROW BEGIN DECLARE id int; select max(tl.id) into id from test_log tl; if id is null then set id=1; else set id=id+1; end if; insert into test_log values(id,now(),’insert’); END$ delimiter ; Query OK, 0 rows affected mysql》 insert into test(id, name) values(1, ’name’); Query OK, 1 row affected mysql》 select * from test_log; +----+------------+----------+ | id | dealtime | dealtype | +----+------------+----------+ | 1 | 2014-07-16 | insert | +----+------------+----------+ 1 row in set 5,对于行级更新触发器Oracle:原有行用:old表示,新行用:new表示在CODE上查看代码片派生到我的代码片SQL》 CREATE OR REPLACE TRIGGER trigger_test_update 2 BEFORE UPDATE ON test 3 FOR EACH ROW 4 BEGIN 5 :new.description := ’change name-》’); END$ delimiter ; Query OK, 0 rows affected mysql》 insert into test(id, name) values (1, ’aaa’); Query OK, 1 row affected mysql》 update test set name = ’bbb’ where id = 1; Query OK, 1 row affected Rows matched: 1 Changed: 1 Warnings: 0 mysql》 select id, name, description from test; +----+------+-------------------------+ | id | name | description | +----+------+-------------------------+ | 1 | bbb | change name | +----+------+-------------------------+ 1 row in set 6,其它一些语法、函数上的区别Oracle:使用if...elsif...elseMySQL:使用if...elseif...elseOracle:sysdate指代系统时间MySQL:sysdate()指代系统时间

MySQL如何用触发器实现新增时删除最后一条数据

首先mysql 只支持3种触发器1 DELETE 2 INSERT 3 UPDATE其他的MySQL语句不支持触发器,所以你第二个需求不能用触发器实现。其次是 非常遗憾,MYSQL中触发器中不能对本表进行 insert ,update ,delete 操作,以免递归循环触发。所以你第一个需求不能在insert前删除本表数据对于update 能用set 进行操作替换,insert与delete只能借助第二张表才能实现需要的目的。

mysql触发器

create trigger 触发器名称 after/before insert/update/delete on 表名 for each row begin sql 语句—一个或者多个语句范围在 insert/update/delete内; end

mysql 触发器

create trigger 触发器名称after/befor (触发时间)insert/update/delete (监视事件)on 表名 (监视地址) for each rowbeginsql1;..sqlN;end其实这里可以不用触发器的,像这种功能的很多,课程和成绩是一对多,学生和课程也是一对多,把这些依赖关系弄清楚,弄确定弄好后,你删除一条字典表的信息后,对应的子表的信息也会被删的!

Mysql触发器

主要是第7行 if @score》85 这个地方缺少 then了 , 注意 if ... then 组合或者使用下面的语句:mysql》 DELIMITER |mysql》 create trigger set_record after insert on score -》 for each row begin -》 set @studentid=new.student_id; -》 set @record=new.record; -》 set @score=new.score; -》 if @score》85 then -》 update score set score.record=5 where student_id=@studentid; -》 else if @score》70 then -》 update score set sc.record=4 where student_id=@studentid; -》 else if @score》60 then -》 update score set score.record=3 where student_id=@studentid; -》 else -》 update score set score.record=0 where student_id=@studentid; -》 end if; -》 end; -》 |

mysql触发器有几种(mysql数据库中一个表可以有多少个触发器)

本文编辑:admin

本文相关文章:


mysql触发器有几种(mysql触发器)

mysql触发器有几种(mysql触发器)

大家好,今天小编来为大家解答以下的问题,关于mysql触发器有几种,mysql触发器这个很多人还不知道,现在让我们一起来看看吧!本文目录mysql触发器Mysql触发器mysql数据库中一个表可以有多少个触发器mysql的触发器和oracl

2024年8月22日 12:20

mysql触发器有几种(mysql 触发器)

mysql触发器有几种(mysql 触发器)

本文目录mysql 触发器MySQL如何用触发器实现新增时删除最后一条数据mysql的触发器和oracle触发器的区别Mysql触发器mysql触发器mysql数据库中一个表可以有多少个触发器mysql 触发器create trigger

2024年6月19日 08:30

更多文章:


nba2k14中文版下载官网(现在在哪可以直接下载NBA2K14呢)

nba2k14中文版下载官网(现在在哪可以直接下载NBA2K14呢)

各位老铁们,大家好,今天由我来为大家分享nba2k14中文版下载官网,以及现在在哪可以直接下载NBA2K14呢的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2024年7月11日 16:20

cf单机版游戏(穿越火线单机版怎么玩)

cf单机版游戏(穿越火线单机版怎么玩)

其实cf单机版游戏的问题并不复杂,但是又很多的朋友都不太了解穿越火线单机版怎么玩,因此呢,今天小编就来为大家分享cf单机版游戏的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录穿越火线单机版怎么玩cf单机版如何换阵

2024年7月31日 12:01

乐视电视机官网(乐视电视官方购买网站多少)

乐视电视机官网(乐视电视官方购买网站多少)

“乐视电视机官网”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看乐视电视机官网(乐视电视官方购买网站多少)!本文目录乐视电视官方购买网站多少乐视电视官网乐视电视价格多少乐视电视机怎么样乐视电视机客服电话是多少乐视电视怎么下载

2024年5月7日 07:32

《宫廷q传》为什么下架了?宫廷q传什么时候重返

《宫廷q传》为什么下架了?宫廷q传什么时候重返

本文目录《宫廷q传》为什么下架了宫廷q传什么时候重返《宫廷Q传》新手攻略:宫廷Q传怎么玩宫廷Q传银两怎么获得 银两获得方法分析宫廷q传有哪些封号,各官品对应的是哪些宫廷q传为什么下架了《宫廷q传》为什么下架了用户数据不足以支撑运营,所以下架

2023年10月15日 06:00

floor中文是什么意思?floor怎么读英语语音

floor中文是什么意思?floor怎么读英语语音

今天给各位分享floor中文是什么意思的知识,其中也会对floor中文是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录floor中文是什么意思floor怎么读英语语音floor是什么意思floor怎么

2024年8月31日 21:55

海马助手苹果版免费下载(苹果六如何下载海马苹果手机助手)

海马助手苹果版免费下载(苹果六如何下载海马苹果手机助手)

这篇文章给大家聊聊关于海马助手苹果版免费下载,以及苹果六如何下载海马苹果手机助手对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录苹果六如何下载海马苹果手机助手热血江湖手游ios版怎么在电脑上玩 热血江湖手游苹果电脑版使用教程苹

2024年6月25日 01:42

即时通文件怎么转发微信?蒙商银行短信即时通是怎么回事

即时通文件怎么转发微信?蒙商银行短信即时通是怎么回事

本文目录即时通文件怎么转发微信蒙商银行短信即时通是怎么回事微信即时通怎么开通如何取消民生银行的账户信息即时通开源工作流软件开发平台介绍520,字节跳动的即时通讯软件飞聊上线了,你觉得会给头条创作者带来哪些改变什么样的即时通讯系统比较好学校人

2024年7月6日 15:29

win7旗舰版怎么激活(怎么激活Win7旗舰版系统)

win7旗舰版怎么激活(怎么激活Win7旗舰版系统)

其实win7旗舰版怎么激活的问题并不复杂,但是又很多的朋友都不太了解怎么激活Win7旗舰版系统,因此呢,今天小编就来为大家分享win7旗舰版怎么激活的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录怎么激活Win7

2024年9月7日 02:25

txt小说下载网手机版(手机下载小说网站TXT)

txt小说下载网手机版(手机下载小说网站TXT)

今天给各位分享手机下载小说网站TXT的知识,其中也会对手机下载小说网站TXT进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录手机下载小说网站TXT手机用什么网址下载TXT电子书求一个手机下载TXT小说的网站,要

2024年6月10日 10:33

windows 9(为什么没有windows9)

windows 9(为什么没有windows9)

本篇文章给大家谈谈windows 9,以及为什么没有windows9对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录为什么没有windows

2024年6月28日 03:49

网络相亲哪个平台好?有哪些相亲平台

网络相亲哪个平台好?有哪些相亲平台

本篇文章给大家谈谈相亲平台,以及网络相亲哪个平台好对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录网络相亲哪个平台好有哪些相亲平台可靠的相亲

2024年6月24日 14:33

凌晨三点3免费观看(凌晨三点可以看的电影有哪些)

凌晨三点3免费观看(凌晨三点可以看的电影有哪些)

其实凌晨三点3免费观看的问题并不复杂,但是又很多的朋友都不太了解凌晨三点可以看的电影有哪些,因此呢,今天小编就来为大家分享凌晨三点3免费观看的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录凌晨三点可以看的电影有哪

2024年6月21日 09:44

五笔字根表完整版(五笔字根口诀表)

五笔字根表完整版(五笔字根口诀表)

大家好,关于五笔字根表完整版很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于五笔字根口诀表的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录五笔字根口诀表

2024年7月23日 08:28

血色修道院掉落(魔兽世界血色修道院血色套装掉落几率及掉落地点准确的)

血色修道院掉落(魔兽世界血色修道院血色套装掉落几率及掉落地点准确的)

本文目录魔兽世界血色修道院血色套装掉落几率及掉落地点准确的魔兽世界血色修道院的精英怪都会掉什么装备,说详细点!魔兽世界中血色套装具体在血色的什么地方出血色修道院的那个紫色饰品是谁掉的血色修道院里人们叫做“狗男女”的掉落什么血色修道院爆骑士装

2024年6月21日 14:26

普法网登录入口(全国青少年普法网怎么登录)

普法网登录入口(全国青少年普法网怎么登录)

其实普法网登录入口的问题并不复杂,但是又很多的朋友都不太了解全国青少年普法网怎么登录,因此呢,今天小编就来为大家分享普法网登录入口的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录全国青少年普法网怎么登录普法网学生

2024年5月18日 20:17

exagear模拟器下载(exagear模拟器怎么添加游戏)

exagear模拟器下载(exagear模拟器怎么添加游戏)

各位老铁们好,相信很多人对exagear模拟器下载都不是特别的了解,因此呢,今天就来为大家分享下关于exagear模拟器下载以及exagear模拟器怎么添加游戏的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录ex

2024年6月29日 18:38

蓝蜥蜴饲料需要几包?《创造与魔法》蓝蜥蜴饲料需要什么材料

蓝蜥蜴饲料需要几包?《创造与魔法》蓝蜥蜴饲料需要什么材料

本文目录蓝蜥蜴饲料需要几包《创造与魔法》蓝蜥蜴饲料需要什么材料《创造与魔法》蓝蜥蜴位置是什么蓝蜥蜴是中国还是澳洲创造与魔蓝蜥蜴生命和攻击资质多少融合合适蓝蜥蜴饲料需要几包蓝蜥蜴饲料需要5到8包之间。1、创造与魔法之中,玩家如果想要稳定驯服蓝

2024年7月1日 02:14

英雄联盟剑姬出装(lol无双剑姬出装及顺序)

英雄联盟剑姬出装(lol无双剑姬出装及顺序)

本文目录lol无双剑姬出装及顺序lol无双剑姬 通常是走什么位置英雄联盟,剑姬按什么出装顺序她的核心装备是什么怎么加点云顶剑姬出什么装备最厉害lol 新版本 剑姬天赋 和出装英雄联盟剑姬出装 技能加点剑姬到底怎么出装啊 有人说半肉 有人说纯

2024年6月29日 06:46

死神vs火影网页游戏(火影VS海贼王VS死神格斗的网址谁有好像是flash的)

死神vs火影网页游戏(火影VS海贼王VS死神格斗的网址谁有好像是flash的)

大家好,今天小编来为大家解答以下的问题,关于死神vs火影网页游戏,火影VS海贼王VS死神格斗的网址谁有好像是flash的这个很多人还不知道,现在让我们一起来看看吧!本文目录火影VS海贼王VS死神格斗的网址谁有好像是flash的有什么好玩的网

2024年7月15日 23:20

明星斗地主三缺一(明星三缺一如何联网和朋友一起玩啊)

明星斗地主三缺一(明星三缺一如何联网和朋友一起玩啊)

本文目录明星三缺一如何联网和朋友一起玩啊到2010年为止 明星三缺一的最新版本是什么明星三缺一红利 清空为什么越来越多的明星去做直播带货了娱乐圈有哪些特立独行、坚持自我的明星孙兴慜9场8球,无奈亚洲杯再次离开热刺,国足就缺这样的明星球员,你

2024年6月8日 18:27

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1731
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1153
标签列表

热门搜索