일단 주석의 추가는 아래와 같이 한다.
테이블의 경우는 comment on table [테이블명] is '주석';
컬럼의 경우는 comment on column [테이블명].[컬럼명] is '주석';
[본인작성]
자 그러면 이제 쿼리를 통해서 테이블의 정보를 보려면 어떻게 하는지 알아봅시다~
1.....
오라클 테이블및 컬럼 주석 보는 SQL문
select
*
from
(
select
a.table_name as "컬럼명"
,a.comments as "주석명"
,'테이블' as "타입"
,0 as "길이"
,0 as column_id
from all_tab_comments a
where a.table_name = #테이블명#
and a.table_type = 'TABLE'
a.column_name as "컬럼명"
,b.comments as "주석명"
,a.data_type as "타입"
,a.data_length as "길이"
,a.column_id as column_id
from user_tab_columns a, all_col_comments b
where a.table_name = b.table_name
and a.column_name = b.column_name
and a.table_name = #테이블명#
)
order by column_id
[출처] http://link.allblog.net/6297539/http://blog.empas.com/dpme93/24308893
2.....
--------------------------------------------------------------------
질문 :
all_objects 안에 테이블과 프로시저 함수 기타등등이 들어가있는데 제가 알고싶은건 해당 테이블의 not null 과 데이터 타입 , 데이터 길이, commnet 를 알고싶습니다.
이를 참조하려면 어느테이블에 연결해야하는지 궁금합니다.
답변 1
ALL_CONSTRAINTS
ALL_TAB_COLUMNS
ALL_TAB_COMMENTS
답변 2
select * from dict 해서
where comments like '%찾을내용%'
하시면, 모르시는 내용이 있을 때 내용 찾는게 도움이 될겁니다.
dictonary 검색해보는 쎈스~
[출처] http://www.oracleclub.com/article/18610
3.....
--------------------------------------------------------------------
ALTER TABLE에는 다음 세가지 형식이 있습니다.
ALTER TABLE table_name ADD ( ... ) ;
ALTER TABLE table_name MODIFY( ... ) ;
ALTER TABLE table_name DROP PRIMARYKEY ;
1. 필드 추가
ALTER TABLE table_name ADD ( ... ) ;
# ALTER TABLE diary ADD addr char(20);
diary 테이블에 속성이 char(20)인 'addr' 칼럼 추가
# ALTER TABLE diary ADD addr char(20) AFTER d;
diary 테이블에 속성이 char(20)인 'addr' 칼럼을 'd' 칼럼 뒤에 추가
# ALTER TABLE diary ADD INDEX (d), ADD PRIMARY KEY (a);
컬럼 d에 새로운 인텍스를 생성 컬럼 a에 primary key 생성.
# ALTER TABLE diary ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT, ADD INDEX (c);
diary 테이블에 c라는 컬럼을 새로 생성시키는데
INT (INTEGER) : 정수
UNSIGNED : 양수
NOT NULL : 아무데이타가 없으면 '0'
AUTO_INCREMENT : 데이타가 자동적으로 입력됨...
ADD INDEX (c) : 컬럼 c에 대해서 인텍스 생성
2. 필드 수정
ALTER TABLE table_name MODIFY( ... ) ;
# ALTER TABLE test MODIFY (age NUMBER NULL );
NOT NULL을 NULL로 바꾸기
# ALTER TABLEtest MODIFY (name VARCHAR2( 20 ) );
열의 폭 늘이기
3. 필드 삭제
ALTER TABLE table_name DROP PRIMARYKEY ;
# ALTER TABLE ddiass DROP COLUMN c;
컬럼 c를 삭제
4. 기타
# ALTER TABLE t1 RENAME t2;
테이블 이름을 t1에서 t2로 바꿈
# ALTER TABLE t2 CHANGE a a TINYINT NOT NULL, CHANGE b c CHAR(20);
테이블 내의 컬럼 속성을 바꿈. 원래 컬럼 a는 INTEGER였는데 TINYINT로,
컬럼b는 CHAR(10)이었는데 컬럼이름은 c로 이타 타입은 CHAR(20)으로 수정
ALTER TABLE admin ADD status char(1);
ALTER TABLE admin ADD login_count NUMBER(38);
ALTER TABLE admin ADD end_login_date DATE;
ALTER TABLE admin ADD login_first_url varchar2(20);