테이블,컬럼 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에서 이동 됨]
게시글 목록
| 번호 | 제목 |
|---|---|
| 12007 |
기타
그라디언트
5
|
| 12006 | |
| 12005 | |
| 12000 |
Flash
일러스트 단축키
4
|
| 11994 |
Flash
[[ 플래시 MX 단축키 요약 ]]
5
|
| 11993 | |
| 11992 | |
| 11991 |
JavaScript
adduser 명령어 기본사용법
|
| 11990 |
MySQL
리눅스 자동백업
|
| 11989 | |
| 29203 | |
| 11988 |
Linux
Xinetd 설치하기&설명
|
| 11986 |
MySQL
mysql버전확인
1
|
| 11985 |
JavaScript
su, telnet, ftp 권한제한
|
| 11984 | |
| 11983 |
JavaScript
Portsentry 1.1 설치하기(실시간해킹방지프로그램)
|
| 11982 |
Linux
리눅스에서 휴지통 (safedelete)
|
| 29202 |
HTML
apache2 가상호스트 설정방법
|
| 29201 | |
| 24968 | |
| 11981 |
JavaScript
시작과 멈춤이 가능한 스크롤 텍스트
|
| 29200 |
HTML
이미지에 마우스만 올려도 링크로 이동
|
| 29198 | |
| 11979 | |
| 11978 |
Flash
php.ini정보
|
| 11975 |
JavaScript
Lightbox2 적용 방법
2
|
| 11973 |
기타
rpm 명령어
1
|
| 11972 |
기타
Trac 설치
|
| 11971 | |
| 11970 |
기타
META 태그 사용법
|
| 11966 | |
| 11962 |
MySQL
MySQL 다운로드
3
|
| 29197 | |
| 29196 |
HTML
간단PHP(4)
|
| 11961 |
기타
간단PHP(3)
|
| 11960 |
기타
간단PHP(2)
|
| 11959 |
JavaScript
간단PHP(1)
|
| 11958 | |
| 11956 | |
| 11952 | |
| 11948 |
JavaScript
[질문] 페도라리눅스에서 한글깨짐현상
3
|
| 11944 | |
| 11936 | |
| 11935 | |
| 29195 | |
| 11934 |
JavaScript
포토샵 CS3에서 JPG 파일을 RAW 파일처럼 보정하기 - 사진 후보정
|
| 29191 | |
| 11933 |
JavaScript
[소스] 배경이미지 바꾸기 (PHP에서)에 대한 초보
|
| 29186 | |
| 11932 |
Flash
플래쉬쪽에서의 파일업로드
|
| 11931 |
Flash
플래쉬에서 PHP와 연동하면서 파일 업로드
|
| 11926 |
Flash
초보가 올리는 왼쪽 메뉴(허접)
4
|
| 11922 | |
| 29183 | |
| 11920 | |
| 11916 | |
| 11915 | |
| 11913 |
JavaScript
타일 이미지 멥핑
1
|
| 11910 | |
| 29182 |
HTML
브러쉬만들기
|
| 11904 | |
| 11901 |
기타
눈물만들기
2
|
| 11900 | |
| 29181 |
HTML
말랑말랑 젤리 텍스트
|
| 11898 | |
| 29179 |
HTML
간단하게 수채화 느낌 내기
1
|
| 11894 |
JavaScript
htmlspecialchars() 역변환(반대) 함수
3
|
| 11892 | |
| 11890 |
JavaScript
배경이미지 바꾸기 (PHP에서)
1
|
| 11889 |
JavaScript
검색창 추가
|
| 11888 | |
| 11886 |
기타
질문입니다
1
|
| 11883 | |
| 11879 | |
| 11875 | |
| 29178 |
HTML
팝업소스 관련질문-오늘하루창안열기
|
| 29167 |
HTML
자바스크립으로 플래쉬 메뉴처럼
10
|
| 11874 |
JavaScript
글씨의 색을 자동으로 변환시켜주는 함수
|
| 29166 | |
| 11872 | |
| 11870 |
JavaScript
[스크립트] 이미지 리사이징
1
|
| 11867 | |
| 11866 | |
| 11865 |
MySQL
MySQL에서 Query Cache 사용하기
|
| 29165 |
HTML
색상표
|
| 29162 |
HTML
입출력폼 생성기
2
|
| 11861 |
MySQL
무료 웹방화벽 Modsecurity..!
3
|
| 11851 |
MySQL
리눅스 포기 하고 싶습니다.. ㅠ.ㅠ
9
|
| 11850 | |
| 11847 | |
| 11846 | |
| 11845 |
JavaScript
ucc(동영상) 서비스 운영관련 자료 (키워드 ffmpeg)
|
| 11840 | |
| 11826 | |
| 11825 |
MySQL
MySQL 한글 정렬 Tip
|
| 11823 |
기타
외부문서불러오기
1
|
| 11816 | |
| 11808 |
Flash
플래시 메뉴 소스
7
|
| 11805 | |
| 11804 |
JavaScript
<script>
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기