zoukankan      html  css  js  c++  java
  • mysql 触发器 存储过程 函数 视图

    本示例实现如下效果:
    0.test数据库有userinfo用户信息表 和userinfolog用户信息日志表
    1.建立一个userinfo表新增记录时的触发器 将新增日志加入到userinfolog
    2.建立一个向userinfo表新增记录的存储过程
    3.根据userinfo表的出生日期字段 我们将建立一个简单算得年龄的自定义函数
    4.创建一个userinfo的视图 调用年龄函数
    -------------
    0.准备相关表
    mysql> use test;
    mysql> create table userinfo(userid int,username varchar(10),userbirthday date);
    mysql> create table userinfolog(logtime datetime,loginfo varchar(100));
    mysql> describe userinfo;
    1.触发器
    mysql> delimiter |
    mysql> create trigger beforeinsertuserinfo
        -> before insert on userinfo
        -> for each row begin
        ->   insert into userinfolog values(now(),CONCAT(new.userid,new.username));
        -> end;
        -> |
    mysql> delimiter ;
    mysql> show triggers;
    2.存储过程
    mysql> delimiter //
    mysql> create procedure spinsertuserinfo(
        -> puserid int,pusername varchar(10)
        -> ,puserbirthday date
        -> )
        -> begin
        ->  insert into userinfo values(puserid,pusername,puserbirthday);
        -> end;
        -> //
    mysql> show procedure status like 'spinsertuserinfo';
    mysql> call spinsertuserinfo(1,'zhangsan',current_date);
    mysql> select * from userinfo;

    3.自定义函数
    mysql> update userinfo
        -> set userbirthday='2000.01.01'
        -> where userid='1';
    mysql> drop function if exists fngetage;
    mysql> delimiter //
    mysql> create function fngetage(pbirthday date)
        -> returns integer
        -> begin
        ->  return year(now()) - year(pbirthday);
        -> end
        -> //
    4.视图
    mysql> create view viewuserinfo
        -> as select * ,fngetage(userbirthday) as userage from userinfo;
    mysql> select * from viewuserinfo;
    清除日志记录
    mysql> truncate table userinfolog;
    mysql> delete from userinfolog;
    本文转摘自『蓝派网』http://www.lan27.com/Article/200807/7557.htm

  • 相关阅读:
    UINavigationController详细(转)
    IOS控件大全及控件大小
    IOS的各种控件(转载,防止遗忘)
    算法导论学习-heapsort
    POJ1502: MPI Maelstrom
    POJ1163 The Triangle: 倒三角形问题
    算法导论学习-Dynamic Programming
    POJ2299: Ultra-QuickSort-合并排序解决逆序数问题
    POJ3750: 小孩报数问题+一道经典约瑟夫问题(猴子选大王)
    用头插法实现单链表整表创建
  • 原文地址:https://www.cnblogs.com/sunwei2012/p/1684867.html
Copyright © 2011-2022 走看看