您在这里:首页 > 学员专区 > 技术文章
Oracle视频
Oracle
CUUG课程

管理表(三)--删除列的方式

 

1、删除

03:44:40 SQL> create table test as select * from emp;

Table created.

03:45:06 SQL> desc test;

Name                                                                     Null     Type

----------------------------------------------------------------------  -------- -----------------

EMPNO                                                                             NUMBER(4)

ENAME                                                                             VARCHAR2(10)

JOB                                                                               VARCHAR2(9)

MGR                                                                               NUMBER(4)

HIREDATE                                                                          DATE

SAL                                                                               NUMBER(7,2)

COMM                                                                              NUMBER(7,2)

DEPTNO                                                                            NUMBER(2)

03:45:10 SQL> alter table test drop column comm;

Table altered.

03:45:26 SQL> desc test;

Name                                                                     Null     Type

----------------------------------------------------------------------  -------- -----------------

EMPNO                                                                             NUMBER(4)

ENAME                                                                             VARCHAR2(10)

JOB                                                                               VARCHAR2(9)

MGR                                                                               NUMBER(4)

HIREDATE                                                                          DATE

SAL                                                                               NUMBER(7,2)

DEPTNO                                                                            NUMBER(2)

03:45:28 SQL> alter table test drop (sal,hiredate);

Table altered.

03:45:54 SQL> desc test;

Name                                                                     Null     Type

----------------------------------------------------------------------  -------- -----------------

EMPNO                                                                             NUMBER(4)

ENAME                                                                             VARCHAR2(10)

JOB                                                                               VARCHAR2(9)

MGR                                                                               NUMBER(4)

DEPTNO                                                                            NUMBER(2)

2、使用unused 删除

将列标记为UNUSED,然后再数据库空闲时删除

03:48:40 SQL> alter table test set unused column mgr;

Table altered.

03:49:03 SQL> desc test;

Name                                                                     Null     Type

----------------------------------------------------------------------  -------- -----------------

EMPNO                                                                             NUMBER(4)

ENAME                                                                             VARCHAR2(10)

JOB                                                                               VARCHAR2(9)

DEPTNO                                                                            NUMBER(2)

03:49:04 SQL> alter table emp drop unused columns checkpoint 1000;

Table altered.

03:49:26 SQL>

Checkpoint 1000 用于指定每删除1000行发出一次检查点。

相关文章 [上一篇] 管理表(二)--管理普通表
010-88589926(88587026)
CUUG热门培训课程
Oracle DBA就业培训
CUUG名师
网络课程
技术沙龙
最新动态

总机:(010)-88589926,88589826,88587026 QQ讨论群:243729577 182441349 邮箱:cuug_bj@cuug.com
通信地址:北京市海淀区紫竹院路98号北京化工大学科技园609室(CUUG)邮政编码:100089 
中国UNIX用户协会 Copyright 2010  ALL Rights Reserved 北京神脑资讯技术有限公司
京ICP备11008061号  京公网安备110108006275号