2007년 07월 12일
오라클에서 SELECT문으로 DB구조 보기
SELECT X.TABLE_NAME TABLE_ID,
(SELECT COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME = X.TABLE_NAME) TABLE_NM,
X.COLUMN_NAME FIELD_ID,
(SELECT COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME = X.TABLE_NAME AND COLUMN_NAME = X.COLUMN_NAME) FIELD_NAME,
X.DATA_TYPE AS "TYPE",
DECODE(X.DATA_TYPE, 'DATE', NULL, 'BLOB', NULL,
X.DATA_LENGTH || CASE WHEN X.DATA_PRECISION IS NOT NULL THEN ',' || X.DATA_SCALE END ) DATATYPES,
CASE WHEN SUBSTR(Y.INDEX_NAME, 1, 2) = 'PK' THEN 'PK'
ELSE DECODE(X.NULLABLE, 'N', 'NOT NULL', '') END "NOT NULL",
X.DATA_DEFAULT
FROM COLS X, USER_IND_COLUMNS Y
WHERE X.TABLE_NAME = Y.TABLE_NAME(+)
AND X.COLUMN_NAME = Y.COLUMN_NAME(+)
ORDER BY X.TABLE_NAME, X.COLUMN_ID
(SELECT COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME = X.TABLE_NAME) TABLE_NM,
X.COLUMN_NAME FIELD_ID,
(SELECT COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME = X.TABLE_NAME AND COLUMN_NAME = X.COLUMN_NAME) FIELD_NAME,
X.DATA_TYPE AS "TYPE",
DECODE(X.DATA_TYPE, 'DATE', NULL, 'BLOB', NULL,
X.DATA_LENGTH || CASE WHEN X.DATA_PRECISION IS NOT NULL THEN ',' || X.DATA_SCALE END ) DATATYPES,
CASE WHEN SUBSTR(Y.INDEX_NAME, 1, 2) = 'PK' THEN 'PK'
ELSE DECODE(X.NULLABLE, 'N', 'NOT NULL', '') END "NOT NULL",
X.DATA_DEFAULT
FROM COLS X, USER_IND_COLUMNS Y
WHERE X.TABLE_NAME = Y.TABLE_NAME(+)
AND X.COLUMN_NAME = Y.COLUMN_NAME(+)
ORDER BY X.TABLE_NAME, X.COLUMN_ID
# by | 2007/07/12 14:01 | Database | 트랙백(1) | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 오라클에서 SELECT문으로 DB구조 보기
SELECT X.TABLE_NAME TABLE_ID, (SELECT COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME = X.TABLE_NAME) TABLE_NM, X.COLUMN_NAME FIELD_ID, (SELECT COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME = X.TABLE_NAME AND COLUMN_NAME = X.COLUMN_NAME) FIELD_NA......more