database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 1033 게시물 읽기
No. 1033
Re: [질문] Oracle8에서... 칼럼 drop 또는 칼럼 unused
작성자
아마도
작성일
2000-06-21 19:01
조회수
15,587

> table의 column을 삭제하는 기능이 추가되었다고 들었는데...

>

> 어떻게 한 table에서 원하는 column을 삭제할 수 있나요???

>

> 아니면 제가 잘못알고있는건가요?

>

 

저도 8i는 현재 테스트용으로 사용중이라 자세히는 알지 못합니다.

매뉴얼을 참조하여 잠깐 테스트한 바에 의하면 다음과 같은 결론이 나오는군요.

unused 는 칼럼을 drop 하는 옵션 중의 하나입니다.

그래서 unused를 사용하면 실제로 디스크상의 스페이스는 재사용할 수 없고

데이타도 있지만 drop 된 것과 같다고 합니다.

그리고 USER_UNUSED_COL_TABS, DBA_UNUSED_COL_TABS, ALL_UNUSED_COL_TABS 를

통해서 삭제된 칼럼을 확인할 수 있다고 합니다.

그리고 비록 데이타 있다고 하더라도 확인할 수 없고,

같은 이름의 칼럼은 새롭게 만들수 있다고 하네요.

그런데 새로 만드니까 당연히 데이타는 하나도 없겠지요?

아래 매뉴얼 일부와 테스트 결과입니다.

 

 

SET UNUSED

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

marks one or more columns as unused. Specifying this clause does

not actually remove the target columns from each row in the table

(that is, it does not restore the disk space used by these columns).

Therefore, the response time is faster than it would be if you execute

the DROP clause.

You can view all tables with columns marked as unused in the data

dictionary views USER_UNUSED_COL_TABS, DBA_UNUSED_COL_

TABS, and ALL_UNUSED_COL_TABS. For information on these

views, see Oracle8i Reference.

Unused columns are treated as if they were dropped, even though

their column data remains in the table’s rows. After a column has

been marked as unused, you have no access to that column. A

"SELECT *" query will not retrieve data from unused columns. In

addition, the names and types of columns marked unused will not be

displayed during a DESCRIBE, and you can add to the table a new

column with the same name as an unused column.

 

 

 

SQL> create table t1 as select * from emp ;

 

Table created.

 

SQL> desc t1

Name Null? Type

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

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

 

SQL> select EMPNO, SAL from t1;

 

EMPNO SAL

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

7369 800

7499 1600

7521 1250

7566 2975

7654 1250

7698 2850

7782 2450

7788 3000

7839 5000

7844 1500

7876 1100

 

EMPNO SAL

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

7900 950

7902 3000

7934 1300

 

SQL> alter table t1 set unused ( SAL ) ;

 

Table altered.

 

칼럼을 drop 시키려면 위의 명령 대신에 아래를 사용하면 됩니다.

SQL> alter table t1 drop ( SAL ) ;

 

Table altered.

 

SQL> desc t1

Name Null? Type

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

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

 

 

SQL> alter table t1 add ( SAL NUMBER(7,2) ) ;

 

Table altered.

 

SQL> desc t1

Name Null? Type

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

EMPNO NOT NULL NUMBER(4)

ENAME VARCHAR2(10)

JOB VARCHAR2(9)

MGR NUMBER(4)

HIREDATE DATE

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

SAL NUMBER(7,2)

 

SQL> select EMPNO, SAL from t1 ;

 

EMPNO SAL

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

7369

7499

7521

7566

7654

7698

7782

7788

7839

7844

7876

 

EMPNO SAL

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

7900

7902

7934

[Top]
No.
제목
작성자
작성일
조회
1036오라클 8.05 설치 질문
최병관
2000-06-22
15494
1048┕>Re: 오라클 8.05 설치 질문
아마도
2000-06-23 09:41:40
16394
1034Oracle8i 에서 계정을 줄때 기본 디렉토리가 어떻게 되는지요?
jegure
2000-06-21
14890
1038┕>Re: Oracle8i 에서 계정을 줄때... 유저 쿼터 얘기인가요?
아마도
2000-06-22 13:22:44
16293
1052 ┕>Re: Re: 감사합니다. ^^
질문자
2000-06-23 12:47:57
16783
1032서로다른 DB 에서 데이타를 교환하는데...
고추장
2000-06-21
14511
1030[질문] Oracle8에서...
송낙흥
2000-06-21
15263
1033┕>Re: [질문] Oracle8에서... 칼럼 drop 또는 칼럼 unused
아마도
2000-06-21 19:01:33
15587
1028ROLLBACK 질문이요!
koyangee
2000-06-21
15219
1031┕>Re: ROLLBACK 질문이요!
소몰이
2000-06-21 15:00:53
15042
1027[질문] CONCAT 함수...
황종모
2000-06-21
14599
1029┕>Re: [질문] CONCAT 함수...
아마도
2000-06-21 10:38:43
15675
1026쿼리문 질문여,,,
Xross
2000-06-21
15112
1035┕>Re: 쿼리문 질문여,,,
정재익
2000-06-22 04:20:09
15383
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다