概述
触发器:
和存储过程比较
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
最后
以上就是粗暴黄蜂为你收集整理的触发器的全部内容,希望文章能够帮你解决触发器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复