`
380071587
  • 浏览: 446044 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

create table new_table as select ...from old_table ... 创建表后,依附于表的约束、键值、索引都不存在

 
阅读更多

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);

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics