반응형
SELECT A.TABLE_NAME AS TABLE_NAME,
A.TAB_CMT AS 테이블설명,
A.COLUMN_ID AS 컬럼순서,
A.COLUMN_NAME AS 컬럼명,
A.COL_CMT AS 컬럼설명,
A.DATA_TYPE||'('||A.데이터길이||')' AS 데이터유형,
B.POS as PK,
A.DATA_DEFAULT AS 기본값,
case when A.NULLABLE='N' then 'NOT NULL' else '' end AS NULL여부,
A.COL_CMT AS 컬럼설명
FROM
(SELECT S1.TABLE_NAME,
S3.COMMENTS AS TAB_CMT,
S1.COLUMN_NAME,
S2.COMMENTS AS COL_CMT,
S1.DATA_TYPE,
CASE WHEN S1.DATA_PRECISION IS NOT NULL THEN DATA_PRECISION||','||DATA_SCALE
ELSE TO_CHAR(S1.DATA_LENGTH)
END AS 데이터길이,
NULLABLE,
COLUMN_ID,
DATA_DEFAULT
FROM dba_TAB_COLUMNS S1,
dba_COL_COMMENTS S2,
dba_TAB_COMMENTS S3
WHERE
and S1.TABLE_NAME = S2.TABLE_NAME
AND S1.COLUMN_NAME = S2.COLUMN_NAME
AND S2.TABLE_NAME = S3.TABLE_NAME ) A,
(SELECT T1.TABLE_NAME, T2.COLUMN_NAME, 'PK'||POSITION AS POS
FROM (SELECT TABLE_NAME, CONSTRAINT_NAME
FROM dba_CONSTRAINTS
WHERE CONSTRAINT_TYPE = 'P' )T1,
(SELECT TABLE_NAME, CONSTRAINT_NAME, COLUMN_NAME, POSITION
FROM DBA_CONS_COLUMNS ) T2
WHERE T1.TABLE_NAME = T2.TABLE_NAME
AND T1.CONSTRAINT_NAME = T2.CONSTRAINT_NAME ) B
WHERE A.TABLE_NAME = B.TABLE_NAME(+)
AND A.COLUMN_NAME = B.COLUMN_NAME(+)
ORDER BY A.TABLE_NAME, A.COLUMN_ID;
반응형
'ORACLE' 카테고리의 다른 글
오라클 통계 뷰 모음 (0) | 2023.11.14 |
---|---|
오라클 purge시 ORA-04088: 트리거 'DBSEC.SDB220001'의 수행시 오류 (0) | 2023.11.08 |
( ORA-65096 ) 오라클 사용자 생성시 prefix c##붙여야 되는거 없애기 (0) | 2023.11.03 |
오라클 권한 ROLE(역할) 과 PRIVILEGE(권한) (0) | 2023.11.01 |
오라클 오래걸리는 쿼리 확인 (0) | 2023.10.18 |