oracle约束

oracle中约束只有表级和列级约束:联合主键约束是表级约束

1、约束类型

主键约束(primary key)

非空约束(not null)

唯一约束(unique)

外键约束(foreign key)

检查性约束(check)

check约束使用:

create table test3(
tid number,
tname varchar2(20),
gender varchar2(2) check (gender in(‘男’,’女’)),
sal number check(sal>0)
);

2、注意问题

(1)查数据,通过主键查最快(因为唯一性约束本身是一个索引)

(2)子表的外键必须是父表的主键

(3)当父表记录被子表 外键引用了,要删除该记录方法:

  1. 先把子表记录删除,再删父表记录
  2. 先把子表记录的外键值改为null,再删除父表记录
  3. 外键约束:

on delete cascade:当删除父表示,级联删除子表记录

on delete set null:将子表的相关依赖记录的外键值置为null

3、约束别名

使用所有约束并却别名:

create table student(
sid number constraint student_pk primary key,
sname varchar2(20) constraint student_name_notnull not null,
gender varchar2(2) constraint student_gender check(gender in (‘’男,’女’)),
email varchr2(40) constraint student_email_unique unique
                    constraint student _email_notnull not null,
deptno number constraint student_fk references dept(deptno) on delete set null
);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值