HELLO WORLD--一起加油(🍺)!|

kingwzun

园龄:3年6个月粉丝:111关注:0

完整性

用户定义的完整性

check

check()只要语句合法即可写

create table Student(
Sno char(9) primary key,
Sname char(8) not null,
Ssex char(2) check (Ssex in('男','女')),
Sage int check(Sage<200&&Sage>0)
)

constraint

使用:对check起别名
优点:可以使用drop删除

断言

chcek的高级版,可以使用评断条件可以使用复杂句子(sql语句)
缺点:
频繁的调用会极大的影响程序的性能,增加额外的开销。
(慎重使用,即时删除)
语句:
create assertion<断言名><check子句>;
drop assertion<断言名>;

触发器Trigger

当用户进行增删改,查询操作对服务器进行触发,

CREATE TRIGGER语法格式
CREATE TRIGGER <触发器名>
{BEFORE | AFTER} <触发事件> ON <表名>
REFERENCING NEW|OLD ROW AS<变量>
FOR EACH {ROW | STATEMENT}
[WHEN <触发条件>]<触发动作体>
触发器又叫做事件-条件-动作(event-condition-action)规则。

CREATE TRIGGER ADDSore
AFTER UPDATE OF Grade ON SC
REFERENCING
OLD row AS OldTuple,
NEW row AS NewTuple
FOR EACH ROW
WHEN (NewTuple.Grade >= 1.1*OldTuple.Grade&&NewTuple.Grade<=100)
NewTuple.Grade=1.1*OldTuple.Grade
WHEN (NewTuple.Grade >= 1.1*OldTuple.Grade&&NewTuple.Grade>100)
NewTuple.Grade=100
INSERT INTO SC_U(Sno,Cno,OldGrade,NewGrade) VALUES(OldTuple.Sno,OldTuple.Cno,OldTuple.Grade,NewTuple.Grade)

激活/屏蔽触发器
Enable trigger t_name on teacher
Disble trigger t_name on teacher
删除触发出
drop trigger <触发器名> on <表名>

本文作者:kingwzun

本文链接:https://www.cnblogs.com/kingwz/p/16076200.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   kingwzun  阅读(236)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起