테이블,컬럼 comments (정보관리테이블만들기)
< 정보테이블 생성하기 >
---------------------------------------------------------------------
DROP TABLE TB_INFO;
CREATE TABLE TB_INFO (
OWNER VARCHAR(15) NOT NULL,
TABLE_NAME VARCHAR(30) NOT NULL,
TABLE_COMMENTS VARCHAR(200) ,
COLUMN_NAME VARCHAR(30) NOT NULL,
COLUMN_COMMENTS VARCHAR(200) ,
COLUMN_ID NUMBER,
DATA_TYPE VARCHAR(20) NOT NULL,
NULLABLE CHAR(1) NOT NULL,
TABLE_TYPE VARCHAR(20)
)
TABLESPACE TS_COM_TB
;
COMMENT ON COLUMN TB_INFO.OWNER IS 'OWNER';
COMMENT ON COLUMN TB_INFO.TABLE_NAME IS '테이블명';
COMMENT ON COLUMN TB_INFO.TABLE_COMMENTS IS '테이블설명';
COMMENT ON COLUMN TB_INFO.COLUMN_NAME IS '컬럼명';
COMMENT ON COLUMN TB_INFO.COLUMN_COMMENTS IS '컬럼설명';
COMMENT ON COLUMN TB_INFO.COLUMN_ID IS '컬럼ID';
COMMENT ON COLUMN TB_INFO.DATA_TYPE IS '데이터타입';
COMMENT ON COLUMN TB_INFO.NULLABLE IS 'NULL허용여부';
COMMENT ON COLUMN TB_INFO.TABLE_TYPE IS '테이블형태';
ALTER TABLE TB_INFO
ADD ( CONSTRAINT PK_INFO PRIMARY KEY (OWNER, TABLE_NAME,COLUMN_NAME)
USING INDEX
TABLESPACE TS_COM_IX ) ;
GRANT INSERT, UPDATE, DELETE ON TB_INFO TO ROLE_COM_W;
GRANT SELECT ON TB_INFO TO ROLE_COM_R;
CREATE PUBLIC SYNONYM TB_INFO FOR COM.TB_INFO;
commit;
---------------------------------------------------------------------
< 실제 테이블에 테이블정보 넣기 >
---------------------------------------------------------------------
DELETE
FROM TB_INFO
WHERE OWNER =
(select distinct(user) from user_tables);
INSERT INTO TB_INFO
select TB_COM.OWNER,
TB_COM.TABLE_NAME,
TB_COM.TCOMMENTS,
TB_COM.COLUMN_NAME,
TB_COM.CCOMMENTS,
TB_COL.COLUMN_ID,
TB_COL.DATA_TYPE,
TB_COL.NULLABLE,
TB_COM.TABLE_TYPE
FROM
(select user as OWNER,
a.TABLE_NAME as TABLE_NAME,
a.COMMENTS as TCOMMENTS,
b.COLUMN_NAME as COLUMN_NAME,
b.COMMENTS as CCOMMENTS,
a.TABLE_TYPE as TABLE_TYPE
from user_tab_comments a, user_col_comments b
where
a.table_name = b.table_name(+)
and a.comments is not null) TB_COM,
(select table_name, column_name, nullable, column_id,
(CASE WHEN data_precision is null THEN data_type||'('||data_length||')'
WHEN data_scale = 0 THEN data_type||'('||data_length||')'
ELSE data_type||'('||data_precision||'.'||data_scale||')'
END) as data_type
from user_tab_columns) TB_COL
WHERE TB_COM.TABLE_NAME = TB_COL.TABLE_NAME
and TB_COM.COLUMN_NAME = TB_COL.COLUMN_NAME;
commit;
---------------------------------------------------------------------
위 내용으로 작성되어진 예시 캡쳐화면을 첨부합니다.
위 예제는 테이블명,테이블스페이스명,롤,시너님을 수정하셔서
실제 프로젝트에서 사용하는 쿼리이기에 환경만 만드시거나 조정만 하시면 충분히 사용하실듯 하네요.
^^ 오랫만에 접속해보는군요. 다시 자주 찾아 뵙도록 하겠습니다.
edit512 골뱅이 네이트 닷컴
---------------------------------------------------------------------
DROP TABLE TB_INFO;
CREATE TABLE TB_INFO (
OWNER VARCHAR(15) NOT NULL,
TABLE_NAME VARCHAR(30) NOT NULL,
TABLE_COMMENTS VARCHAR(200) ,
COLUMN_NAME VARCHAR(30) NOT NULL,
COLUMN_COMMENTS VARCHAR(200) ,
COLUMN_ID NUMBER,
DATA_TYPE VARCHAR(20) NOT NULL,
NULLABLE CHAR(1) NOT NULL,
TABLE_TYPE VARCHAR(20)
)
TABLESPACE TS_COM_TB
;
COMMENT ON COLUMN TB_INFO.OWNER IS 'OWNER';
COMMENT ON COLUMN TB_INFO.TABLE_NAME IS '테이블명';
COMMENT ON COLUMN TB_INFO.TABLE_COMMENTS IS '테이블설명';
COMMENT ON COLUMN TB_INFO.COLUMN_NAME IS '컬럼명';
COMMENT ON COLUMN TB_INFO.COLUMN_COMMENTS IS '컬럼설명';
COMMENT ON COLUMN TB_INFO.COLUMN_ID IS '컬럼ID';
COMMENT ON COLUMN TB_INFO.DATA_TYPE IS '데이터타입';
COMMENT ON COLUMN TB_INFO.NULLABLE IS 'NULL허용여부';
COMMENT ON COLUMN TB_INFO.TABLE_TYPE IS '테이블형태';
ALTER TABLE TB_INFO
ADD ( CONSTRAINT PK_INFO PRIMARY KEY (OWNER, TABLE_NAME,COLUMN_NAME)
USING INDEX
TABLESPACE TS_COM_IX ) ;
GRANT INSERT, UPDATE, DELETE ON TB_INFO TO ROLE_COM_W;
GRANT SELECT ON TB_INFO TO ROLE_COM_R;
CREATE PUBLIC SYNONYM TB_INFO FOR COM.TB_INFO;
commit;
---------------------------------------------------------------------
< 실제 테이블에 테이블정보 넣기 >
---------------------------------------------------------------------
DELETE
FROM TB_INFO
WHERE OWNER =
(select distinct(user) from user_tables);
INSERT INTO TB_INFO
select TB_COM.OWNER,
TB_COM.TABLE_NAME,
TB_COM.TCOMMENTS,
TB_COM.COLUMN_NAME,
TB_COM.CCOMMENTS,
TB_COL.COLUMN_ID,
TB_COL.DATA_TYPE,
TB_COL.NULLABLE,
TB_COM.TABLE_TYPE
FROM
(select user as OWNER,
a.TABLE_NAME as TABLE_NAME,
a.COMMENTS as TCOMMENTS,
b.COLUMN_NAME as COLUMN_NAME,
b.COMMENTS as CCOMMENTS,
a.TABLE_TYPE as TABLE_TYPE
from user_tab_comments a, user_col_comments b
where
a.table_name = b.table_name(+)
and a.comments is not null) TB_COM,
(select table_name, column_name, nullable, column_id,
(CASE WHEN data_precision is null THEN data_type||'('||data_length||')'
WHEN data_scale = 0 THEN data_type||'('||data_length||')'
ELSE data_type||'('||data_precision||'.'||data_scale||')'
END) as data_type
from user_tab_columns) TB_COL
WHERE TB_COM.TABLE_NAME = TB_COL.TABLE_NAME
and TB_COM.COLUMN_NAME = TB_COL.COLUMN_NAME;
commit;
---------------------------------------------------------------------
위 내용으로 작성되어진 예시 캡쳐화면을 첨부합니다.
위 예제는 테이블명,테이블스페이스명,롤,시너님을 수정하셔서
실제 프로젝트에서 사용하는 쿼리이기에 환경만 만드시거나 조정만 하시면 충분히 사용하실듯 하네요.
^^ 오랫만에 접속해보는군요. 다시 자주 찾아 뵙도록 하겠습니다.
edit512 골뱅이 네이트 닷컴
[이 게시물은 관리자님에 의해 2011-10-31 16:47:36 Oracle에서 이동 됨]
게시글 목록
| 번호 | 제목 |
|---|---|
| 29416 | |
| 13230 | |
| 13227 | |
| 13226 |
JavaScript
PHP 이미지 지원 함수
|
| 13225 | |
| 13224 |
MySQL
심플쪽지2.0n
|
| 25107 | |
| 13219 |
JavaScript
iframe 외부의 부모 값에 접근.
4
|
| 13218 |
jQuery
select plugin
|
| 13216 | |
| 13211 | |
| 13210 | |
| 29415 |
HTML
prototype API
|
| 13204 | |
| 13202 |
jQuery
이미지 리사이즈 jQuery 로 변경 방법
1
|
| 29411 | |
| 13199 | |
| 13196 |
기타
tar 복사
2
|
| 13192 |
jQuery
jQuery 셀렉트 박스 입니다.
3
|
| 13191 | |
| 13189 | |
| 13186 | |
| 29408 | |
| 13185 |
jQuery
jQuery plugin Editors
|
| 13183 |
jQuery
jQuery 그래프 애니메이션
1
|
| 13178 | |
| 13173 |
기타
이번달 일수 구하기
4
|
| 13166 |
jQuery
SIR 메인에 사용된 jQuery widget
6
|
| 13165 |
기타
property 구현
|
| 13163 |
JavaScript
한글만 입력되게
1
|
| 13162 |
기타
휴대폰번호 검사
|
| 13157 | |
| 13153 |
jQuery
이미지 없으면 자동으로 No Image 출력
3
|
| 13149 |
JavaScript
a 링크 점선 없애기, input+label 묶기
3
|
| 13144 |
jQuery
ifrmae 자동 리사이즈
4
|
| 13142 | |
| 13141 | |
| 13140 |
jQuery
jquery 예
|
| 13138 | |
| 13137 |
MySQL
insert에서 where 사용하기
|
| 13136 |
MySQL
MySQL Database 언어코드 수정하기
|
| 25102 | |
| 13135 |
jQuery
회원가입 아이디 체크부분 jQuery 버젼
|
| 13132 |
jQuery
jQuery History & Bookmark
2
|
| 13131 |
jQuery
스포일러 기능~
|
| 13130 |
jQuery
이미지를 순서대로 로딩하기
|
| 13128 |
jQuery
jQuery 페이징
1
|
| 13125 |
jQuery
폼 입력값 검사
2
|
| 13117 |
JavaScript
간단한 서브메뉴 onmouseover 이벤트 팁
7
|
| 13116 | |
| 13114 |
jQuery
jQuery Cheat sheet
1
|
| 13113 | |
| 13109 |
jQuery
간단한 풍선도움말
3
|
| 13106 |
jQuery
자동등록방지 코드
2
|
| 13105 | |
| 13103 | |
| 13102 |
JavaScript
클릭으로 수량 조절
|
| 13099 |
jQuery
AJAX Libraries API -- 구글
2
|
| 13096 | |
| 13091 |
jQuery
jQuery 동적테이블
4
|
| 29404 | |
| 13090 | |
| 13087 |
JavaScript
검색엔진에 노출을 못하게 하는 방법
2
|
| 29400 | |
| 13085 | |
| 13082 | |
| 29398 | |
| 13081 |
JavaScript
페이지 인쇄할때 자동으로 다음장 인쇄 기능
|
| 13080 |
기타
특정문자 제거하기
|
| 13077 |
JavaScript
숫자만 입력되게 하기
2
|
| 25097 | |
| 13076 | |
| 13075 |
기타
팝업뛰우기
|
| 13072 |
JavaScript
접속시 우측 하단에 메시지 나타나게 하기
2
|
| 13071 |
MySQL
phpMyAdmin 3.0 설치 방법
|
| 29397 |
HTML
글자수 제한시켜 짜르기
|
| 13069 | |
| 13068 | |
| 13063 | |
| 13060 |
JavaScript
ezPrice 금액 입력 도우미
2
|
| 25092 | |
| 25091 | |
| 25090 | |
| 13056 |
MySQL
FOUND_ROWS()
3
|
| 13055 | |
| 13054 | |
| 29396 |
HTML
레이어 스부적스부적 이동 스크립트
|
| 13045 | |
| 13042 | |
| 13026 | |
| 13022 | |
| 13017 | |
| 13013 |
PHP
정규식 질문드립니다.
3
|
| 13008 | |
| 13002 |
PHP
태그변환 정규식
5
|
| 12998 | |
| 25083 | |
| 12997 | |
| 29394 | |
| 29392 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기