Yondata
728x90
반응형
SMALL

테이블, 컬럼, 인덱스 정보 조회

#테이블 정보
SELECT * FROM SYSTEM_.sys_tables_;

#컬럼 정보
SELECT * FROM SYSTEM_.SYS_COLUMNS_;

#테이블, 컬럼 정보
SELECT  
t.table_name
,c.column_name
, CASE C.DATA_TYPE WHEN '1'  THEN 'CHAR('    || C.PRECISION || ')'
                     WHEN '2'  THEN 'NUMERIC(' || C.PRECISION || NVL2(C.SCALE, ',' || C.SCALE, NULL) || ')'
                     WHEN '4'  THEN 'INTEGER(' || C.PRECISION || ')'
                     WHEN '8'  THEN 'DOUBLE'
                     WHEN '9'  THEN 'DATETIME'
                     WHEN '12' THEN 'VARCHAR(' || C.PRECISION || ')'
    END                                            AS 'TYPE'
FROM SYSTEM_.sys_tables_ t
JOIN SYSTEM_.SYS_COLUMNS_ c
ON t.table_id=c.table_id
WHERE t.table_name='COL_LIST1'; --테이블명

#컬럼 코멘트 조회
SELECT * FROM SYSTEM_.SYS_COMMENTS_;

# VIEW 조회
SELECT * FROM SYSTEM_.SYS_VIEWS_;

# INDEX 조회
SELECT A.INDEX_ID, 
       C.USER_NAME||'.'||B.TABLE_NAME TABLE_NAME,
       A.INDEX_NAME INDEX_NAME,
       NVL(D.NAME,'MEMORY') TBS,
       DECODE(IS_UNIQUE,'T','UNIQUE','NONUIQUE') UNIQUENESS,
       A.COLUMN_CNT COLUMN_COUNT 
  FROM SYSTEM_.SYS_INDICES_ A LEFT OUTER JOIN V$TABLESPACES D
       ON A.TBS_ID = D.ID, 
       SYSTEM_.SYS_TABLES_ B, SYSTEM_.SYS_USERS_ C
 WHERE A.TABLE_ID = B.TABLE_ID
   AND A.USER_ID = C.USER_ID
   AND C.USER_ID != 1
 ORDER BY TABLE_NAME, INDEX_NAME ;

 

데이터베이스 정보

# 인코딩타입 조회
select * from v$nls_parameters;

# altibase 버전
SELECT * FROM V$VERSION;

# ALTIBASE FUNCTION,PROCEDURES 조회
SELECT * FROM SYSTEM_.SYS_PROCEDURES_

# DB 유저 조회
SELECT * FROM SYSTEM_.SYS_USERS_;

 

728x90
반응형
LIST
profile

Yondata

@Yondata

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!