触发器的使用

来源:互联网 发布:淘宝怎么开 编辑:程序博客网 时间:2024/05/11 00:28
 

触发器的使用

触发器
 和存储过程比较
 1.共同点
  针对表的操作(sql语句集合)
 2.区别点
  不需要调用
 触发器在当前版本里不太稳定,不建议在有重要数据的数据库里使用
  约束:
   目的:保证数据的安全(独立性、共享性) 排除数据冗余性
   域完整性约束(列):数据类型、格式、值域范围(enumset)、是否为空、主键、自动增长等;
   实体完整性约束():自己整理
   用户自定义约束:
    例如:年龄 int 0-100
   参照完整性约束:外键

 练习:使用触发器完成check约束
 1、创建触发器
 语法:
  创建存储过程:create procedure 名称(参数)
       begin
      流程控制语句
      sql语句集合
       end//

  创建触发器:  create trigger 名称 触发时间(after|before) 触发事件(insertupdatedelete)
       on 表名 for each row
       begin
       局部变量、用户变量等;
       流程控制语句;
       sql语句集合
       call 存储过程名();
       end// 
 
 练习1:对t1创建触发器,执行insert语句后,将用户变量str赋值working
 练习2:对t1(字段s1)创建按触发器,删除数据后,将t2里对应的记录同步删除
   第一步:创建触发器
   create trigger t1_delete after delete on t1 for each row
   delete from t2 where s2=OLD.s1;
   第二步:激活触发器
   delete from t1;
   第三步:验证结果
   select * from t2;

原创粉丝点击