MySQL之触发器

触发器
1.创建触发器
#r类型:insert update delete
#格式
#CREATE TRIGGER 触发器名 触发时间 触发事件
#      on  表  from each now
#         SQL语句




#添加一条信息,显示提示信息
delimiter $$
CREATE TRIGGER ct_student AFTER INSERT
     on student for each ROW
              set @info = '添加成功';
$$
delimiter;




insert into student
   values('160504118','刘一鸣','男','1998-05-18','汉','共青团员');


delimiter $$
   CREATE TRIGGER ct_update AFTER UPDATE
      on student for each ROW
      BEGIN
       set @inf='不可以更改';
      end $$
delimiter;




#创建一个触发器,不允许用户修改表中的记录
begin WORK;
  update student
     set 民族 = '蒙古'
          where 学号 = '160504118';
rollback work;
select @ inf;
select * from student;
    where 学号 = '160504118';


select @inf;




#对删除操作给出提示信息,取消当前的删除操作
delimiter $$
create trigger ct_table BEFORE  DELETE
    on student for each ROW
         BEGIN 
             set  @info1 = '无权删除记录' ;
         END $$
delimiter ;


begin WORK;
delete from student
   WHERE 学号 = '160504118';
ROLLBACK work;
SELECT @info1;
SELECT * from student
   WHERE 学号 = '160504118';


2.查看触发器
#查看触发器的信息
show TRIGGERS;


#查看ct_student触发器
show CREATE TRIGGER ct_student;


3.删除触发器
#删除ct_student触发器
DROP  TRIGGER ct_student;

猜你喜欢

转载自blog.csdn.net/deepseazbw/article/details/80016533