-
mysql创建乘积语法的触发器_创建MySQL触发器的语法介绍
2021-01-19 20:37:26MySQL触发器是MySQL数据库非常重要的部分,下文对创建MySQL触发器及删除MySQL触发器作了详细的介绍,希望对您有所帮助。...1、创建Mysql触发器:语法:CREATE TRIGGER trigger_name trigger_time trigger_eve...MySQL触发器是MySQL数据库非常重要的部分,下文对创建MySQL触发器及删除MySQL触发器作了详细的介绍,希望对您有所帮助。
MySQL触发器是MySQL数据库非常重要的部分,下文对创建MySQL触发器及删除MySQL触发器作了详细的介绍,希望对您有所帮助。
1、创建Mysql触发器:
语法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW
BEGIN
trigger_stmt
END;
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BEGIN trigger_stmt END;大写的为关键字
trigger_name:Mysql触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:触发器标识,name:英文名,,tableName:表名,
b(BEFORE):标识是触发事件之前,
a(AFTER):标识触发事件之后,
i(insert): 标识insert事件,
u(update):标识update事件,
d(delete):标识delete事件;
trigger_time:触发时间(BEFORE或AFTER)
trigger_event:事件名(insert或update或delete)
tbl_name:表名(必须是永久性表)
trigger_stmt:执行语句(可以是复合语名),使用别名OLD和NEW,能够引用与触发程序相关的表中的列。
2、删除Mysql解发器
语法:
DROP TRIGGER [schema_name.]trigger_name;
注意:以上操作均需SUPER权限
MySQL触发器的创建与删除
下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。
1、创建MySQL触发器:
语法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW
BEGIN
trigger_stmt
END;
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW
BEGIN
trigger_stmt
END;
例子
CREATE TRIGGER SetUserHome after insert ON users
FOR EACH ROW
BEGIN
update `users` set homeLocationX = 128,
homeLocationY=128, homeLocationZ=30
where uuid = NEW.uuid
END
以上的例子是错误的, 让本表进行触发时进行更新会让程序进入死循环。
更多详情见请继续阅读下一页的精彩内容:
相关阅读:
利用MySQL触发器高性能造数据
MySQL触发器的使用
MySQL触发器管理
MySQL触发器处理本表数据
Linux下MySQL触发器设置
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
-
mysql创建乘积语法的触发器_创建Mysql触发器的语法介绍
2021-02-02 05:45:29Mysql触发器是Mysql数据库非常重要的部分,下文对创建Mysql触发器及删除Mysql触发器作了详细的介绍,希望对您有所帮助。1、创建Mysql触发器:语法:CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_...Mysql触发器是Mysql数据库非常重要的部分,下文对创建Mysql触发器及删除Mysql触发器作了详细的介绍,希望对您有所帮助。
1、创建Mysql触发器:
语法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW
BEGIN
trigger_stmt
END;
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BEGIN trigger_stmt END;大写的为关键字
trigger_name:Mysql触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:触发器标识,name:英文名,tableName:表名,
b(BEFORE):标识是触发事件之前,
a(AFTER):标识触发事件之后,
i(insert): 标识insert事件,
u(update):标识update事件,
d(delete):标识delete事件;
trigger_time:触发时间(BEFORE或AFTER)
trigger_event:事件名(insert或update或delete)
tbl_name:表名(必须是永久性表)
trigger_stmt:执行语句(可以是复合语名),使用别名OLD和NEW,能够引用与触发程序相关的表中的列。
2、删除Mysql解发器
语法:
DROP TRIGGER [schema_name.]trigger_name;
注意:以上操作均需SUPER权限
MySQL触发器的创建与删除
下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。
1、创建MySQL触发器:
语法:
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW
BEGIN
trigger_stmt
END;
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name
FOR EACH ROW
BEGIN
trigger_stmt
END;
例子
CREATE TRIGGER SetUserHome after insert ON users
FOR EACH ROW
BEGIN
update `users` set homeLocationX = 128,
homeLocationY=128, homeLocationZ=30
where uuid = NEW.uuid
END
以上的例子是错误的, 让本表进行触发时进行更新会让程序进入死循环。
系统会报这样的错误:it is already used by statement which invoked this stored function/trigger.
应该改成以下语句:
CREATE TRIGGER SetUserHome before insert ON users
FOR EACH ROW
BEGIN
set New.homeLocationX = 128;
set New.homeLocationY = 128;
set New.homeLocationZ=30;
END
大写的为关键字
trigger_name:触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:MySQL触发器标识,name:英文名,tableName:表名,b(BEFORE):标识是触发事件之前,a(AFTER):标识触发事件之后,i(insert):标识insert事件,u(update):标识update事件,d(delete):标识delete事件;
trigger_time:触发时间(BEFORE或AFTER)
trigger_event:事件名(insert或update或delete)
tbl_name:表名(必须是永久性表)
trigger_stmt:执行语句(可以是复合语名),使用别名OLD和NEW,能够引用与触发程序相关的表中的列。
2、删除解发器
语法:
DROP TRIGGER [schema_name.]trigger_name;
注意:以上操作均需SUPER权限
示例:
DROP TRIGGER t_wiley_hotelComment_bu;
delimiter //
CREATE TRIGGER t_wiley_hotelComment_bu BEFORE UPDATE ON hotel_comment
FOR EACH ROW
BEGIN
IF OLD.ispass=0 && NEW.ispass=1 THEN
UPDATE hotel_info SET sumcommentsumcomment=sumcomment+1,
sumconsumesumconsume=sumconsume+NEW.consume,sumservicesumservice=sumservice+NEW.service,
sumroomsumroom=sumroom+NEW.room,sumentironsumentiron=sumentiron+NEW.entironment,
totaltotal=total+(NEW.service+NEW.room+NEW.entironment) WHERE hotel_id=NEW.hotel_id;
ELSEIF OLD.ispass=1 && NEW.ispass=0 THEN
UPDATE hotel_info SET sumcommentsumcomment=sumcomment-1,
sumconsumesumconsume=sumconsume-NEW.consume,sumservicesumservice=sumservice-NEW.service,
sumroomsumroom=sumroom-NEW.room,sumentironsumentiron=sumentiron-NEW.entironment,
totaltotal=total-(NEW.service+NEW.room+NEW.entironment) WHERE hotel_id=NEW.hotel_id;
END IF;
END;//
delimiter ;
以上的相关内容就是对MySQL触发器的使用的介绍,望你能有所收获。
分享到:
2013-11-05 11:43
浏览 202
评论
-
创建Mysql触发器的语法介绍
2013-11-05 11:43:25Mysql触发器是Mysql数据库非常重要的部分,下文对创建Mysql触发器及删除Mysql触发器作了详细的介绍,希望对您有所帮助。 1、创建Mysql触发器: 语法: CREATE TRIGGER trigger_name trigger_time trigger_event ON ...Mysql触发器是Mysql数据库非常重要的部分,下文对创建Mysql触发器及删除Mysql触发器作了详细的介绍,希望对您有所帮助。 1、创建Mysql触发器: 语法: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BEGIN trigger_stmt END; CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BEGIN trigger_stmt END;大写的为关键字 trigger_name:Mysql触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:触发器标识,name:英文名,tableName:表名, b(BEFORE):标识是触发事件之前, a(AFTER):标识触发事件之后, i(insert): 标识insert事件, u(update):标识update事件, d(delete):标识delete事件; trigger_time:触发时间(BEFORE或AFTER) trigger_event:事件名(insert或update或delete) tbl_name:表名(必须是永久性表) trigger_stmt:执行语句(可以是复合语名),使用别名OLD和NEW,能够引用与触发程序相关的表中的列。 2、删除Mysql解发器 语法: DROP TRIGGER [schema_name.]trigger_name; 注意:以上操作均需SUPER权限 MySQL触发器的创建与删除 下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。 1、创建MySQL触发器: 语法: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BEGIN trigger_stmt END; CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW BEGIN trigger_stmt END; 例子 CREATE TRIGGER SetUserHome after insert ON users FOR EACH ROW BEGIN update `users` set homeLocationX = 128, homeLocationY=128, homeLocationZ=30 where uuid = NEW.uuid END 以上的例子是错误的, 让本表进行触发时进行更新会让程序进入死循环。 系统会报这样的错误:it is already used by statement which invoked this stored function/trigger. 应该改成以下语句: CREATE TRIGGER SetUserHome before insert ON users FOR EACH ROW BEGIN set New.homeLocationX = 128; set New.homeLocationY = 128; set New.homeLocationZ=30; END 大写的为关键字 trigger_name:触发器的名字,我常用的命名规则t_name_tableName_(b|a)(i|u|d),t:MySQL触发器标识,name:英文名,tableName:表名,b(BEFORE):标识是触发事件之前,a(AFTER):标识触发事件之后,i(insert):标识insert事件,u(update):标识update事件,d(delete):标识delete事件; trigger_time:触发时间(BEFORE或AFTER) trigger_event:事件名(insert或update或delete) tbl_name:表名(必须是永久性表) trigger_stmt:执行语句(可以是复合语名),使用别名OLD和NEW,能够引用与触发程序相关的表中的列。 2、删除解发器 语法: DROP TRIGGER [schema_name.]trigger_name; 注意:以上操作均需SUPER权限 示例: DROP TRIGGER t_wiley_hotelComment_bu; delimiter // CREATE TRIGGER t_wiley_hotelComment_bu BEFORE UPDATE ON hotel_comment FOR EACH ROW BEGIN IF OLD.ispass=0 && NEW.ispass=1 THEN UPDATE hotel_info SET sumcommentsumcomment=sumcomment+1, sumconsumesumconsume=sumconsume+NEW.consume,sumservicesumservice=sumservice+NEW.service, sumroomsumroom=sumroom+NEW.room,sumentironsumentiron=sumentiron+NEW.entironment, totaltotal=total+(NEW.service+NEW.room+NEW.entironment) WHERE hotel_id=NEW.hotel_id; ELSEIF OLD.ispass=1 && NEW.ispass=0 THEN UPDATE hotel_info SET sumcommentsumcomment=sumcomment-1, sumconsumesumconsume=sumconsume-NEW.consume,sumservicesumservice=sumservice-NEW.service, sumroomsumroom=sumroom-NEW.room,sumentironsumentiron=sumentiron-NEW.entironment, totaltotal=total-(NEW.service+NEW.room+NEW.entironment) WHERE hotel_id=NEW.hotel_id; END IF; END;// delimiter ; 以上的相关内容就是对MySQL触发器的使用的介绍,望你能有所收获。
-
触发器的概念及其语法/创建触发器/查看以及删除
2020-07-12 18:16:13触发器可以简单理解一种特殊的存储过程,之前存储过程的变量定义及流程语句同样适合触发器,唯一不同的是我们只需要定义触发器,而不用手动调用触发器。...创建触发器的语法如下: CREATE TRIGGER trigger_n.触发器可以简单理解一种特殊的存储过程,之前存储过程的变量定义及流程语句同样适合触发器,唯一不同的是我们只需要定义触发器,而不用手动调用触发器。从事件触发的角度来说,触发器编写的过程就是触发事件定义的过程,因为触发器定义好后会随着数据库操作命令的执行而触发,这些具体的操作是INSERT/UPDATE/DELETE。比如可以在user表中删除记录执行后,通过定义一个触发器把删除的数据自动添加到历史表中保存以便以后可以进行其他操作。创建触发器的语法如下:CREATE TRIGGER trigger_name trigger_timetrigger_event ON tbl_name FOR EACH ROWBEGINtrigger_stmtEND例如下面创建个触发器,当删除employee表一条数据就会执行一次 往history表里面插入一条记录的触发器,看到OLD这个了?这个就是原数据的对象,可取出原数据! -
mysql创建乘积语法的触发器_mysql – 创建触发器的SQL语法错误
2021-01-19 20:37:26我想创建触发器,我已编写此查询,但这不执行.请检查我的查询CREATETRIGGER 'blog_after_insert' AFTER INSERTON 'blog'FOR EACH ROW BEGINIF NEW.deleted THENSET @changetype = 'DELETE';ELSESET @changetype = 'NEW... -
SQL创建触发器的通用语法
2014-08-19 20:07:14创建触发器的通用语法如下所示: CREATE [OR REPLACE] TRIGGER Trigger_name {BEFORE |AFTER} Triggering_event ON table_name [FOR EACH ROW] [FOLLOWS another_trigger] [ENABLE/DISABLE] [WHEN condition... -
创建触发器的基本语法
2017-12-02 18:35:00节选自 http://blog.csdn.net/indexman/article/details/8023740/ CREATE OR REPLACE TRIGGER triger_DESP_to_segmentpointAFTER--可以选 BEFORE 或AFTER,指触发器在附着表操作的之前还是之后触发INSERT O... -
mysql创建触发器博客园_mysql 创建触发器
2021-01-20 04:03:32创建触发器的语法如下:CREATE TRIGGER trigger_name trigger_time trigger_eventON tbl_name FOR EACH ROW trigger_stmttrigger_time 是触发器的触发时间,可以是BEFORE 或者AFTER,BEFORE 的含义指在检查约束前... -
创建触发器的一般语法
2018-03-19 11:30:00ORACLE CREATE[ORREPLACE]TRIGGERtrigger_name {BEFORE|AFTER}{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}[OR{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}...]ON[schema.]table_name... -
数据库mysql触发器语法错误_在MySQL数据库中创建表的触发器(语法错误)
2021-01-20 00:37:56我无法为MySQL数据库定义触发器.我想在插入新行(在给定的条件下)之前更改一个文本框.这是我试过的:CREATE TRIGGER add_bccBEFORE INSERT ON MailQueueFOR EACH ROW BEGINIF (NEW.sHeaders LIKE "%support@mydomain.... -
mysql 创建触发器
2018-07-05 16:02:41mysql 创建触发器创建触发器的语法如下:CREATE TRIGGER trigger_name trigger_time trigger_eventON tbl_name FOR EACH ROW trigger_stmttrigger_time 是触发器的触发时间,可以是BEFORE 或者AFTER,BEFORE 的含义... -
pg数据库创建触发器
2020-06-09 10:58:051、什么是触发器 触发器是一种由事件自动触发执行的特殊存储过程,这些事件可以是对一个表进行 INSERT、UPDATE、...创建触发器的语法: CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } {.. -
.Net_07_创建触发器的基本语法(Sql 语句)
2013-01-29 15:50:00触发器就是定义一个执行某动作后会执行的存储过程 -> 当插入数据的时候,执行;当删除的时候执行等 常见的触发器有2种:after(for) (同时触发)、instead of(代替),分别应用于Insert , Update , Delete 事件... -
oracle 创建触发器_oracle创建触发器
2013-04-19 09:46:57创建触发器创建触发器的一般语法是:CREATE [OR REPLACE] TRIGGER trigger_name{BEFORE | AFTER }{INSERT | DELETE | UPDATE [OF column [, column …]]}[OR {INSERT | DELETE | UPDATE [OF column [, column …]]}..... -
触发器语法
2011-09-08 15:33:00创建触发器的语法如下所示: CREATE TRIGGER <trigger name> ON [<schema name>.]<table or view name> [WITH ENCRYPTION | EXECUTE AS <CALLER | SELF | <user> >] { FOR... -
SQLSever中的触发器基本语法与作用
2021-01-19 22:13:14什么是触发器? 触发器是在对表进行插入、更新或删除操作时自动执行的存储过程。 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。...SQL Server为每个触发器都创建了两个专用表﹕Insert -
mysql创建触发器删去课程_MySQL触发器的创建与删除
2021-02-08 03:38:47下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。1、创建MySQL触发器:语法:... -
java sql 创建触发器_SQL Server创建触发器
2021-02-28 09:14:10在本教程中,将学习如何使用SQL Server CREATE TRIGGER语句来创建新的触发器。SQL Server CREATE TRIGGER语句简介CREATE TRIGGER语句用于创建一个...以下是CREATE TRIGGER语句的语法:CREATE TRIGGER [schema_name.]... -
PGSQL 触发器的创建语法
2019-07-17 16:19:49转发 makr~ https://www.cnblogs.com/NextAction/p/7384791.html -
sql server 创建触发器的语句格式
2010-09-30 18:00:00创建触发器的语法很长,简化为: 引用:CREATE TRIGGER 触发器名 ON 表名/视图名 { FOR | AFTER | INSTEAD OF } { [DELETE] [,] [INSERT] [,] [UPDATE] } AS 触发器内容(SQL 语句)...