Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

컬럼 이름, 데이터 타입, 크기, NOT NULL, 제약조건 정보 및 컬럼 순서 정보를 알 수 있습니다.

 버전 별로 쿼리문에 차이가 있으니 각 버전에 해당하는 문장을 참고하세요.

Code Block
title알티베이스 4 6.3.1 이상
languagesql
-- USER_NAME  : 테이블이름 소유자 
-- TABLE_NAME : 테이블 이름
-- COLUMN_NAME : 컬럼 이름
-- DATA_TYPE : 데이터 타입
-- COLUMN_SIZE : 컬럼 크기
-- NOTCONST_NULLTYPE : NOT제약조건 NULL유형
여부-- CHECK_CONDITION : CHECK 제약조건의 조건
-- COLUMN_ORDER : 컬럼 순서
  
SELECT U.USER_NAME 'USER_NAME' 
       , T.TABLE_NAME 'TABLE_NAME'
     , C.COLUMN_NAME 'COLUMN_NAME'
     , DECODE(C.DATA_TYPE, 1, 'CHAR', 12, 'VARCHAR', -8, 'NCHAR', -9, 'NVARCHAR', 2, 'NUMERIC/DECIMAL', 6, 'FLOAT/NUMBER', 8, 'DOUBLE', 7, 'REAL', -5, 'BIGINT', 4, 'INTEGER', 5, 'SMALLINT', 9, 'DATE', 30, 'BLOB', 40, 'CLOB', 20001, 'BYTE', 20002, 'NIBBLE', -7, 'BIT', -100, 'VARBIT', 10003, 'GEOMETRY') 'DATA_TYPE'
     , DECODE(C.DATA_TYPE, 2, C.PRECISION||'.'||C.SCALE, 6, C.PRECISION||'.'||C.SCALE, C.PRECISION) COLUMN_SIZE
     , DECODE(CCONST.ISCONSTRAINT_NULLABLETYPE, 0, 'FFK', 1, 'NOT NULL', 2, 'UNIQUE', 3, 'PK', 4, 'NULL', 5, 'TIMESTAMP', 6, 'LOCAL UNIQUE', 7, 'CHECK') CONST_TYPE
     , CONST.CHECK_CONDITION     
     , C.COLUMN_ORDER 'COLUMN_ORDER'
  FROM SYSTEM_.SYS_USERS_ U
     , SYSTEM_.SYS_TABLES_ T
     , SYSTEM_.SYS_COLUMNS_ C
       LEFT OUTER JOIN system_.SYS_CONSTRAINT_COLUMNS_ CONST_COL ON CONST_COL.COLUMN_ID = C.COLUMN_ID 
       LEFT OUTER JOIN SYSTEM_.SYS_CONSTRAINTS_ CONST ON CONST.CONSTRAINT_ID = CONST_COL.CONSTRAINT_ID
 WHERE U.USER_NAME NOT IN ('PUBLIC', 'SYSTEM_')
   AND T.TABLE_TYPE = 'T'
   AND U.USER_ID = T.USER_ID
   AND T.TABLE_ID = C.TABLE_ID  
 ORDER BY U.USER_NAME, T.TABLE_NAME, C.COLUMN_ORDER   
;
Code Block
title알티베이스 4.3.9 / 5.3.3 / 5.5.1 / 6.1.1
languagesql
-- USER_NAME : 이름 소유자 
-- TABLE_NAME : 테이블 이름
-- COLUMN_NAME : 컬럼 이름
-- DATA_TYPE : 데이터 타입
-- COLUMN_SIZE : 컬럼 크기
-- CONST_TYPE : 제약조건 유형
-- COLUMN_ORDER : 컬럼 순서
  
SELECT U.USER_NAME 'USER_NAME' 
     , T.TABLE_NAME 'TABLE_NAME'
     , C.COLUMN_NAME 'COLUMN_NAME'
     , DECODE(C.DATA_TYPE, 1, 'CHAR', 12, 'VARCHAR', -8, 'NCHAR', -9, 'NVARCHAR', 2, 'NUMERIC/DECIMAL', 6, 'FLOAT/NUMBER', 8, 'DOUBLE', 7, 'REAL', -5, 'BIGINT', 4, 'INTEGER', 5, 'SMALLINT', 9, 'DATE', 30, 'BLOB', 40, 'CLOB', 20001, 'BYTE', 20002, 'NIBBLE', -7, 'BIT', -100, 'VARBIT', 10003, 'GEOMETRY') 'NOT_NULL'
     , DATA_TYPE'
     , DECODE(C.DATA_TYPE, 2, C.PRECISION||'.'||C.SCALE, 6, C.PRECISION||'.'||C.SCALE, C.PRECISION) COLUMN_SIZE
     , DECODE(CONST.CONSTRAINT_TYPE, 0, 'FK', 1, 'NOT NULL', 2, 'UNIQUE', 3, 'PK', 4, 'NULL', 5, 'TIMESTAMP', 6, 'LOCAL UNIQUE', 7, 'CHECK') CONST_TYPE    
     , C.COLUMN_ORDER 'COLUMN_ORDER'
  FROM SYSTEM_.SYS_USERS_ U
     , SYSTEM_.SYS_TABLES_ T
     , SYSTEM_.SYS_COLUMNS_ C
       LEFT OUTER JOIN system_.SYS_CONSTRAINT_COLUMNS_ CONST_COL ON CONST_COL.COLUMN_ID = C.COLUMN_ID 
       LEFT OUTER JOIN SYSTEM_.SYS_CONSTRAINTS_ CONST ON CONST.CONSTRAINT_ID = CONST_COL.CONSTRAINT_ID
 WHERE U.USER_IDNAME NOT IN (0'PUBLIC', 1'SYSTEM_')
   AND T.TABLE_TYPE = 'T'
   AND U.USER_ID = T.USER_ID
   AND T.TABLE_ID = C.TABLE_ID ;

 

 

 
 ORDER BY U.USER_NAME, T.TABLE_NAME, C.COLUMN_ORDER   
;