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


  1. 한건의 데이타를 여러건으로 조회하는 쿼리입니다.

  2. 한 호스트내의 DB경로 변경 방법

  3. 한 개 PC에서 CUBRID7.3과 CUBRID2008R1.4 & R2.0 매니저 사용 방법

  4. 패키지 형태로 생성된 JAVA class를 JAVA SP에서 사용하기

  5. 테이블에 comment 사용하기

  6. 테이블 컬럼 변경 및 추가

  7. 테이블 용량 산정 쿼리

  8. 테이블 사용량 확인방법

  9. 테이블 명세서 한 시트로 합치기

  10. 테이블 명세서 쿼리

  11. 테이블 리스트 취합 SQL

  12. 테이블 데이터 복사 하기

  13. 타 DBMS를 CUBRID로 마이그레이션 시 varchar,char 컬럼 사이즈 관련

  14. 타 DB 에서 마이그레이션시 질의 변경 샘플 - CASE 문

  15. 큐브리드와 hostname 관계

  16. 큐브리드매니져를 이용한 데이터베이스 자동 백업

  17. 큐브리드 포트 정리

  18. 큐브리드 서비스 재구동 시 cubrid manager server start: fail 오류 해결 방법

  19. 큐브리드 사용포트 정리

  20. 큐브리드 복제 구성 시 마스터 데이터베이스 백업 주의사항

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14

Contact Cubrid

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