emp 表
列名 |
类型 |
可为空 |
默认值 |
EMPNO |
NUMBER(4) | ||
ENAME |
VARCHAR2(10) |
Y |
'YJG' |
JOB |
VARCHAR2(9) |
Y | |
MGR |
NUMBER(4) |
Y | |
HIREDATE |
DATE |
Y | |
SAL |
NUMBER(7,2) |
Y | |
COMM |
NUMBER(7,2) |
Y | |
DEPTNO |
NUMBER(2) |
Y |
键值情况
PK_EMP |
Primary |
EMPNO |
Y |
N |
N |
2013-4-25 9:22 | |||
FK_DEPTNO |
Foreign |
DEPTNO |
Y |
DEPT |
DEPTNO |
No action |
N |
N |
2013-4-25 9:22 |
检查约束情况
EMP_SAL |
sal>100 |
Y |
N |
N |
2013-4-25 9:25 |
索引情况
SCOTT |
EMP_ENAME |
Normal |
ENAME |
N |
N |
tablespace users pctfree 10 initrans 2 maxtrans 255 storage ( initial 64k minextents 1 maxextents unlimited ) | |||||||||||
SCOTT |
PK_EMP |
Unique |
EMPNO |
N |
N |
tablespace users pctfree 10 initrans 2 maxtrans 255 storage ( initial 64k minextents 1 maxextents unlimited ) |
--用 create table ...as select ....
CREATE TABLE emp_copy
AS
SELECT * from emp;
emp_copy 表
EMPNO | NUMBER(4) | Y |
ENAME | VARCHAR2(10) | Y |
JOB | VARCHAR2(9) | Y |
MGR | NUMBER(4) | Y |
HIREDATE | DATE | Y |
SAL | NUMBER(7,2) | Y |
COMM | NUMBER(7,2) | Y |
DEPTNO | NUMBER(2) | Y |
创建好后,除了内容一样之外,所有约束、键值、索引、默认值均没有了;
表 emp 是与上一样的结构和键值,dept 的主键deptno在emp里作为主键;那么执行
drop table dept casecade constraints; 命令后表dept被删掉;同时emp上的外键被移除;
如果用 flashback table dept to before drop ;闪回dept 表的话,那么dept 上的主键约束以及索引都能闪回,只是名字有系统自动生成;
并且 emp不会有任何改动;
如果 要加上原来的外键那么需要执行ALTER TABLE emp ADD CONSTRAINTS fk_deptno FOREIGN KEY(deptno) REFERENCES dept(deptno);