zoukankan      html  css  js  c++  java
  • MySql:触发器

    触发器

    一、触发器的定义:

      触发器是个特殊的存储过程,不同的是,执行存储过程要使用CALL语句来调用,而触发器的执行不需要使用CALL语句来调用,也不需要手工启动,只要当一个预定的事件发生时,就会被MySQL调用

    二、创建触发器

    总语法:
    CREATE
        [DEFINER = { user | CURRENT_USER }]
        TRIGGER trigger_name trigger_time trigger_event
    ON tbl_name FOR EACH ROW trigger_body
    
    trigger_name:标识触发器的名称,用户自行定义;
    trigger_time:标识触发器的时机,可以指定为before或after 
    trigger_event:标识触发事件,包括INSERT、UPDATE和DELETE
    tbl_name:标识建立触发器的表名,即在那张表上建立触发器
    trigger_body:触发器程序体
    【例】
    
     mysql> create trigger ints_sum before insert on account for each row set
     @sum=@sum+new.amount;

    作用:对插入的amount字段进行求和
    注意:不能少了“@”;

    三、查看触发器

    语法:
    (1)show 语法-----适用与触发器较少情况
    SHOW TRIGGERS [{FROM | IN} db_name]
       [LIKE 'pattern' | WHERE expr]
    {FROM | IN}db_name:标识库名
    LIKE 'pattern' | WHERE expr:标识查询条件
       【例】
    
    mysql> show triggersG;
    *************************** 1. row ***************************
                 Trigger: ints_sum
                   Event: INSERT
                   Table: account
               Statement: set @sum=@sum+new.amount
                  Timing: BEFORE
                 Created: 2018-01-12 08:54:45.25
                sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
                 Definer: root@localhost
    character_set_client: gbk
    collation_connection: gbk_chinese_ci
      Database Collation: utf8_general_ci
    
    (2)使用triggers表查询
    语法:
    mysql> select * from information_schema.triggers where 条件;
    【例】
    
    mysql> select * from information_schema.triggers where trigger_name='INTS_sum'G;

    四、删除触发器

    语法:
    DROP TRIGGER [IF EXISTS] [schema_name.]trigger_name
    schema_name.表示库名
    【例】
    
    mysql> drop trigger ints_sum;
     
  • 相关阅读:
    Solr 配置中文分词器 IK
    Solr 访问 403 错误
    阿里巴巴在线代码检查工具
    『调错』OGG Error opening module ggjava_ue.dll
    『取巧』VS2015试用期过后 继续试用
    『开源』设置系统 主音量(0~100 静音) VolumeHelper 兼容 Xp Win7 .Net 20 AnyCPU
    『尝试』随手绘制几张点阵图片
    『实用』过滤字符串中的幽灵字符
    『转载』从内存资源中加载C++程序集:CMemLoadDll
    『开源重编译』System.Data.SQLite.dll 自适应 x86 x64 AnyCPU 重编译
  • 原文地址:https://www.cnblogs.com/hahayixiao/p/10199216.html
Copyright © 2011-2022 走看看