Oracle Column PK FK 조회 쿼리
2019. 3. 18. 18:32ㆍdatabase/oracle
oracle column pk fk 조회
oracle 에서 column 정보를 조회하는 방법이다.
필요한 경우가 많아서 기록해 둔다.
해당 쿼리에서는 column 명과 더불어 comments, pk, fk 여부 등 부가적인 정보도 조회한다.
해당 쿼리를 사용하기 위해서는 먼저 owner, table 명이 필요하다.
쿼리
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 |
SELECT AA.COLUMN_ID,
AA.COLUMN_NAME,
BB.COMMENTS,
AA.DATA_TYPE,
AA.DATA_DEFAULT,
CC.PK,
AA.NULLABLE,
CC.FK
FROM ALL_TAB_COLUMNS@AIDP AA,
ALL_COL_COMMENTS@AIDP BB,
(SELECT A.OWNER,
A.TABLE_NAME,
A.CONSTRAINT_TYPE,
COLUMN_NAME,
POSITION,
CASE WHEN A.CONSTRAINT_TYPE = 'P' THEN 'Y' END AS PK,
CASE WHEN A.CONSTRAINT_TYPE = 'R' THEN 'Y' END AS FK
FROM ALL_CONSTRAINTS@AIDP A, ALL_CONS_COLUMNS@AIDP B
WHERE UPPER (A.OWNER) = UPPER ('owner')
AND A.TABLE_NAME = UPPER ('table_name')
AND A.TABLE_NAME = B.TABLE_NAME
AND A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
AND A.CONSTRAINT_TYPE IN ('P', 'F')) CC
WHERE UPPER (AA.OWNER) = UPPER ('owner')
AND UPPER (AA.TABLE_NAME) = UPPER ('table_name')
AND AA.OWNER = BB.OWNER
AND AA.TABLE_NAME = BB.TABLE_NAME
AND AA.COLUMN_NAME = BB.COLUMN_NAME
AND AA.OWNER = CC.OWNER(+)
AND AA.TABLE_NAME = CC.TABLE_NAME(+)
AND AA.COLUMN_NAME = CC.COLUMN_NAME(+)
ORDER BY COLUMN_ID |
cs |
결과
column_id : 컬럼 ID
column_name : 컬럼명
comments : 코멘트
data_type : 컬럼 데이터 타입
data_default : 컬럼 기본값
pk : pk 여부 (Y or N)
nullable : null 가능 여부
fk : fk 여부 (Y or N)
끝
'database > oracle' 카테고리의 다른 글
oracle ora-43853 오류 (0) | 2019.01.26 |
---|---|
ORA-01843: not a valid month 오류 (0) | 2018.08.02 |
오라클 버전 확인 쿼리 (2) | 2018.02.08 |
ORACLE expdp / ora-06512 (0) | 2017.10.24 |
oracle 컬럼 가로 표시 / xmlagg 특수문자 치환 / WM_CONCAT / Listagg (0) | 2017.04.10 |
oracle sybase 비교 (0) | 2017.03.27 |
toad 주석 기울임꼴 제거 / comment Italic (0) | 2017.02.20 |
oracle / 날짜 더미 테이블 만들기 / 오라클 / 티베로 / tibero / dummy (0) | 2016.01.12 |
oracle / 한 컬럼에 콤마(',') 구분자로 되어있는 코드 치환하기 (0) | 2016.01.05 |
oracle / hint / 힌트 종류 정리 (1) | 2016.01.05 |