本文共 1238 字,大约阅读时间需要 4 分钟。
Oracle如果删除表不会真的删除表,而是想Windows一样,进入了回收站,可以恢复和彻底删除
show recyclebin;//查看回收站
flashback table person to before drop;//恢复person表
purge table empnull;//删除回收站中的表
purge recyclebin;//清空回收站
drop table person purge;//彻底删除表,不进入回收站
create table member(
mid number,
name varchar2(50) not null,
sex varchar2(10) not null,
age number(3),
constraint pk_mid primary key(mid),
constraint ck_sex check(sex in ('男','女')),
constraint ck_age check(age between 0 and 150)
);
create table book(
bid number,
title varchar2(50) not null,
mid number,
constraint pk_bid primary key(bid),
constraint fk_mid foreign key(mid) references member(mid)
);
但是,此时有个缺点,就是删除主表的记录,要先删除字表的记录才可以。此时可以配置级联删除和置空。
create table book( bid number, title varchar2(50) not null, mid number, constraint pk_bid primary key(bid), constraint fk_mid foreign key(mid) references member(mid) on delete cascade --级联删除);
create table book( bid number, title varchar2(50) not null, mid number, constraint pk_bid primary key(bid), constraint fk_mid foreign key(mid) references member(mid) on delete set null--设置为空);
也可以不设置这些,强制删除。
Drop table member cascade constraint purge;//不关心关系(字表的存在与否),强制删除主表,不推荐使用
转载地址:http://apelf.baihongyu.com/