码迷,mamicode.com
首页 > 数据库 > 详细

14 MySQL 内置功能--视图/触发器

时间:2020-02-17 12:23:44      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:course   incr   一个   调用   set   --   for   val   mys   

#视图

select * from course inner join teacher on course.teacher_id=teacher.tid;

create view course2teacher as select * from course inner join teacher on course.teacher_id=teacher.tid;

#触发器

CREATE TABLE cmd (
    id INT PRIMARY KEY auto_increment,
    USER CHAR (32),
    priv CHAR (10),
    cmd CHAR (64),
    sub_time datetime, #提交时间
    success enum (‘yes‘, ‘no‘) #0代表执行失败
);

CREATE TABLE errlog (
    id INT PRIMARY KEY auto_increment,
    err_cmd CHAR (64),
    err_time datetime
);

#创建触发器
delimiter //
CREATE TRIGGER tri_after_insert_cmd AFTER INSERT ON cmd FOR EACH ROW
BEGIN
    IF NEW.success = ‘no‘ THEN #等值判断只有一个等号
            INSERT INTO errlog(err_cmd, err_time) VALUES(NEW.cmd, NEW.sub_time) ; #必须加分号
      END IF ; #必须加分号
END//
delimiter ;

#存储过程

delimiter //
create procedure p1()
BEGIN
    select * from db7.teacher;
END//
delimiter;

#有参存储过程


delimiter //
create procedure p2(in n1, in n2 int, out res int)
BEGIN
    select * from db7.teacher where tid>n1 and tid<n2;
set res=1;
END//
delimiter;


#MySQL中调用
set @x=0
call p2(2,4,@x);

#python 中调用

  

  

14 MySQL 内置功能--视图/触发器

标签:course   incr   一个   调用   set   --   for   val   mys   

原文地址:https://www.cnblogs.com/zhujing666/p/12320856.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!