我是靠谱客的博主 粗暴黄蜂,最近开发中收集的这篇文章主要介绍触发器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

触发器:

  和存储过程比较

1、  共同点

针对表的操作(SQL语句集合)

2、  区别点

不需要调用

 触发器在当前版本里不太稳定,不建议在有重要数据的数据库里使用 

约束:

      目的:保证数据的安全(独立性、共享性)排除数据冗余性;

      域完整性约束(列):数据类型、格式、值域范围(enum 、set)、是否为空、主键、自动增长等;

      实体完整性约束(行):自己整理

      用户自定义约束:

       例如:年龄 int  0-100

      参照完整性约束:外键

      1、  创建触发器

语法:

   create  procedure  名称(参数)

   begin 

     流程控制语句

     SQL语句集合

End

create  trigger    名称  触发时间(after|before) 触发事件(insert、update、delete)

   on  表名  for  each  row  

   begin

       局部变量、用户变量等;

流程控制语句;

       SQL语句集合;

       Call  存储过程名();

End

  第一步:创建触发器

 create trigger t1_delete after delete on t1 for each row

  delete from t2 where s2=OLD.s1;

 第二步:激活触发器

  delete from t1;

 第三步:验证结果

  Select * from t2;

练习3:创建表t3(s3 char(8)),该字段对记录的要求为,必须以’A’为开头

    例如:insert into t3 values(‘Ax’);

     使用触发器来实现该约束

     Insert来验证

 

  Delimiter //

 Create trigger t_3 before insert on t3 for each row

              Begin

              If new.s3 not like “A%” then

Set new.s3=””;

              Else

 Set new.s3=new.s3;

              End if;

              End //

delimiter ;

删除触发器:

   Show  triggers;

   Drop  trigger   trigger_na

 CREATE TRIGGER T1_UPDATE AFTER UPDATE ON

T1 FOR EACH ROW

UPDATE T2 SET S2=0

最后

以上就是粗暴黄蜂为你收集整理的触发器的全部内容,希望文章能够帮你解决触发器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部