您的位置:首页 > 数据库

数据库之约束浅析

2015-09-21 21:32 337 查看


--约束

create table emp3(

--列级约束,not null 只能定义在列级上

id number(10) constraint emp3_id_uk unique,

name varchar2(20) constraint emp3_name_nn not null,

email varchar2(20),

salary number(10,2),

--表级约束

constraint emp3_email_uk unique(email)

)

--约束:主键非空且唯一

create table emp4(

id number(10) constraint emp4_id_pk primary key,--列级约束

name varchar2(20) constraint emp4_name_nn not null,

email varchar2(20),

salary number(10,2),

--表级约束

constraint emp4_email_uk unique(email)

)

--约束:外键

create table emp6(

--列级约束

id number(10) constraint emp6_id_pk primary key,

name varchar2(20) constraint emp6_name_nn not null,

email varchar2(20),

salary number(10,2),

department_id number(10),

--表级约束

constraint emp6_email_uk unique(email),

constraint emp6_dep_id_fk foreign key(department_id) references departments(department_id)

)

--约束:级联删除,级联置空

create table emp7(

--列级约束

id number(10) constraint emp7_id_pk primary key,

name varchar2(20) constraint emp7_name_nn not null,

email varchar2(20),

salary number(10,2),

department_id number(10),

--表级约束

constraint emp7_email_uk unique(email),

constraint emp7_dep_id_fk foreign key(department_id) references departments(department_id) on delete set null

--或者是 constraint emp6_dep_id_fk foreign key(department_id) references on delete cascade

)

--约束:check

create table emp8(

--列级约束

id number(10) constraint emp8_id_pk primary key,

name varchar2(20) constraint emp8_name_nn not null,

email varchar2(20),

salary number(10,2) check(salary > 2000 and salary < 30000),--限定salary范围

department_id number(10),

--表级约束

constraint emp8_email_uk unique(email),

constraint emp8_dep_id_fk foreign key(department_id) references departments(department_id) on delete set null

--或者是 constraint emp6_dep_id_fk foreign key(department_id) references on delete cascade

)

--删除约束,

alter table emp8

drop constraint emp8_salary_nn --删除emp8表中约束名为emp8_salary_nn 的约束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: