Background Image
질의작성
2016.03.19 02:34

테이블 리스트 취합 SQL

조회 수 5522 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

 테이블별로 컬럼이름,컬럼순서,null여부,column datatype, prec(정밀도),scale(스케일,소수점 이하표시), default 여부 fk, pk를 한번의 SQL로 확인할 수 있는 SQL이다.


아래는 출력되는 예시이다.




SELECT DISTINCT a.table_name,a.column_name,a.def_order,a.null여부,a.data_type,a.prec,a.scal,a.[default], NVL(b.key_attr_name,' ') AS PK, NVL(c.key_attr_name, ' ') AS FK
FROM
(
SELECT UPPER(a.class_name) AS TABLE_NAME
          ,upper(b.attr_name) AS COLUMN_NAME
          ,b.DEF_ORDER
          ,UPPER(b.is_nullable) AS NULL여부
          ,case WHEN b.data_type = 'STRING' THEN 'VARCHAR' ELSE b.data_type END DATA_TYPE
          ,UPPER(b.prec) AS PREC
          ,UPPER(b.scale) AS SCAL
          ,UPPER(NVL(b.default_value,' ')) AS [DEFAULT]
FROM db_class a, db_attribute b
WHERE a.class_name = b.class_name
AND a.owner_name <> 'DBA'
AND a.class_type = 'CLASS'
ORDER BY a.class_name,b.def_order
)a

LEFT OUTER JOIN 
 
(
 SELECT *
 FROM db_index_key
 WHERE index_name IN
 ( SELECT index_name
 FROM db_index
 where is_primary_key = 'YES')
) b

ON A.TABLE_NAME = UPPER(B.CLASS_NAME)
AND a.COLUMN_NAME = UPPER(b.key_attr_name)

LEFT OUTER JOIN

(
 SELECT *
 FROM db_index_key
 WHERE index_name IN
 ( SELECT index_name
 FROM db_index
 where is_foreign_key = 'YES')
) C

ON A.TABLE_NAME = UPPER(C.CLASS_NAME)
AND A.COLUMN_NAME = UPPER(C.key_attr_name)

ORDER BY table_name, a.def_order


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
14 질의작성 두 datetime 연산결과를 "?일 ?시:?분:?초"로 표시하기 권호일 2016.05.18 6368
13 질의작성 FOR UPDATE 정만영 2016.01.27 5990
12 질의작성 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기 1 성진 2016.08.10 5577
» 질의작성 테이블 리스트 취합 SQL 김창휘 2016.03.19 5522
10 질의작성 Oracle UTL_ENCODE.TEXT_ENCODE를 CUBRID로 변환하기 김창휘 2016.03.21 4646
9 질의작성 스키마 및 인덱스 선언에 따른 최대 용량 산정을 위한 ROW SIZE 확인 성진 2016.03.21 4179
8 질의작성 Cubrid는 어떤 쿼리를 동일한 쿼리로 판단할까? 이상신 2015.12.30 4010
7 질의작성 subquery를 이용한 튜닝예제 file 김창휘 2016.12.27 3322
6 질의작성 테이블 명세서 쿼리 1 성진 2017.08.04 3178
5 질의작성 loose index scan을 활용한 효과적인 쿼리 튜닝 방안 박세훈 2017.06.01 2409
4 질의작성 JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자. file 성진 2017.10.10 1325
3 질의작성 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기 성진 2018.04.10 1108
2 질의작성 VALUES 절 활용하기 황영진 2020.05.13 814
1 질의작성 synonym에 대하여 김민종 2023.09.07 257
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales