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

    触发器:是用户定义在关系表上的一类由事件驱动的数据对象,也是一种保证数据完整性的方法.

    使用create trigger语句创建触发器

    格式:create trigger trigger_name trigger_time trigger_event

      on tb_table for each row trigger_body

    mysql-> create trigger mysql_test.cust_insert_trigger after insert

        -> on mysql_test.cust for each row set @str='one customer added!';

    mysql-> insert into mysql_test.cust

        -> values(null,'万华','F','长沙市','芙蓉区');

    mysql-> select @str;

    mysql-> drop trigger if exists mysql_test.cust_insert_trigger

    使用触发器 \同一个类型的触发器只能有一个,每个表最多有2x3个触发器

    三种触发器: insert触发器,delete触发器,update触发器

    insert触发器:在insert触发器代码内,可引用一个名为new(不区分大小写)的虚拟表,来访问被插入的行.

    在before insert触发器中,new中的值可以被更新.

    mysql-> create trigger mysql_test.cust_insert_trigger after insert

        -> on mysql_test.cust for each row set @str=new.cust_id;

    delete触发器: 在delete触发器代码内,可引用一个名为old(不区分大小写)的虚拟表,来访问被删除的行.

    old中的值全部是只读的,不能被更新.

    update触发器: 在update触发器代码内,可引用一个名为old(不区分大小写)的虚拟表,来访问update语句执行前的值,

    也可以引用一个名为new(不区分大小写)的虚拟表来访问更新后的值.

    mysql-> create trigger mysql_test.cust_update_trigger before update

        -> on mysql_test.cust for each row set new.cust_address=old.cust_contact;

  • 相关阅读:
    POJ 3280 Cheapest Palindrome (区间DP)
    UVaLive 4731 Cellular Network (期望DP)
    UVa 11404 Palindromic Subsequence (LCS)
    UVa 11552 Fewest Flops (DP)
    UVa 10534 Wavio Sequence (LIS+暴力)
    UVaLive 4256 Salesmen (简单DP)
    UVaLive 4094 WonderTeam (贪心)
    UVaLive 3266 Tian Ji -- The Horse Racing (贪心)
    POJ 3723 Conscription (最小生成树)
    NodeJS学习笔记 进阶 (4)基于express+muter的文件上传(ok)
  • 原文地址:https://www.cnblogs.com/lsxsx/p/13394210.html
Copyright © 2011-2022 走看看