精华内容
下载资源
问答
  • MySQL触发器是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触发器设置

    logo.gif

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    展开全文
  • Mysql触发器是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触发器的使用的介绍,望你能有所收获。

    分享到:

    18e900b8666ce6f233d25ec02f95ee59.png

    72dd548719f0ace4d5f9bca64e1d7715.png

    2013-11-05 11:43

    浏览 202

    评论

    展开全文
  • 创建Mysql触发器的语法介绍

    千次阅读 2013-11-05 11:43:25
    Mysql触发器是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触发器的使用的介绍,望你能有所收获。
    


     

    展开全文
  • 触发器可以简单理解一种特殊的存储过程,之前存储过程的变量定义及流程语句同样适合触发器,唯一不同的是我们只需要定义触发器,而不用手动调用触发器。...创建触发器的语法如下: CREATE TRIGGER trigger_n.
    触发器可以简单理解一种特殊的存储过程,之前存储过程的变量定义及流程语句同样适合触发器,唯一不同的是我们只需要定义触发器,而不用手动调用触发器。从事件触发的角度来说,触发器编写的过程就是触发事件定义的过程,因为触发器定义好后会随着数据库操作命令的执行而触发,这些具体的操作是INSERT/UPDATE/DELETE。比如可以在user表中删除记录执行后,通过定义一个触发器把删除的数据自动添加到历史表中保存以便以后可以进行其他操作。创建触发器的语法如下:
    CREATE TRIGGER trigger_name trigger_time
    trigger_event ON tbl_name FOR EACH ROW
    BEGIN
    trigger_stmt
    END
     
     
     
    例如下面创建个触发器,当删除employee表一条数据就会执行一次 往history表里面插入一条记录的触发器,看到OLD这个了?这个就是原数据的对象,可取出原数据!
     
     
     
     
     
     
    展开全文
  • 我想创建触发器,我已编写此查询,但这不执行.请检查我查询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...
  • 节选自 http://blog.csdn.net/indexman/article/details/8023740/ CREATE OR REPLACE TRIGGER triger_DESP_to_segmentpointAFTER--可以选 BEFORE 或AFTER,指触发器在附着表操作之前还是之后触发INSERT O...
  • 创建触发器的语法如下:CREATE TRIGGER trigger_name trigger_time trigger_eventON tbl_name FOR EACH ROW trigger_stmttrigger_time 是触发器的触发时间,可以是BEFORE 或者AFTER,BEFORE 的含义指在检查约束前...
  • ORACLE CREATE[ORREPLACE]TRIGGERtrigger_name {BEFORE|AFTER}{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}[OR{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}...]ON[schema.]table_name...
  • 我无法为MySQL数据库定义触发器.我想在插入新行(在给定条件下)之前更改一个文本框.这是我试过:CREATE TRIGGER add_bccBEFORE INSERT ON MailQueueFOR EACH ROW BEGINIF (NEW.sHeaders LIKE "%support@mydomain....
  • mysql 创建触发器

    2018-07-05 16:02:41
    mysql 创建触发器创建触发器的语法如下: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:05
    1、什么是触发器 触发器是一种由事件自动触发执行的特殊存储过程,这些事件可以是对一个表进行 INSERT、UPDATE、...创建触发器的语法: CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } {..
  • 触发器就是定义一个执行某动作后会执行存储过程 -> 当插入数据时候,执行;当删除时候执行等 常见的触发器有2种:after(for) (同时触发)、instead of(代替),分别应用于Insert , Update , Delete 事件...
  • 创建触发器创建触发器的一般语法是: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...
  • 什么是触发器触发器是在对表进行插入、更新或删除操作时自动执行存储过程。 触发器对表进行插入、更新、删除时候会自动执行特殊存储过程。...SQL Server为每个触发器创建了两个专用表﹕Insert
  • 下面的文章主要描述的是MySQL触发器的正确创建步骤,MySQL触发器的删除,你如果对MySQL触发器的正确创建步骤,MySQL触发器的删除有兴趣的话你就可以点击以下的文章进行观看了。1、创建MySQL触发器:语法:...
  • 在本教程中,将学习如何使用SQL Server CREATE TRIGGER语句来创建新的触发器。SQL Server CREATE TRIGGER语句简介CREATE TRIGGER语句用于创建一个...以下是CREATE TRIGGER语句的语法:CREATE TRIGGER [schema_name.]...
  • 转发 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 语句)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,225
精华内容 490
热门标签
关键字:

创建触发器的语法