CUBRID의 경우 오라클 DB와 다른 형태로 테이블 및 컬럼 COMMENT를 관리하고 있다.
CUBRID에서 제공하는 CMT에서는 테이블 및 컬럼 COMMENT를 변환을 아직까지는 지원하지 않고 있다.
CM을 통해 테이블 단위로 메뉴얼로 등록할 수 있지만 평균 수백게 이상의 테이블이 존재하기에 일괄 등록할 수있는 스크립트를 만들어서 등록하도록 한다.
해당 SQL은 오라클에서 수행하며 생성된 쿼리를 큐브리드에서 수행하면 된다.
1. 테이블 COMMENT 등록 SQL 생성 스크립트
SELECT
A.TABLE_NAME
, B.COMMENTS
, 'INSERT INTO _CUB_SCHEMA_COMMENTS VALUES ('''||lower(A.TABLE_NAME)||''','||'''*'''||','''||B.COMMENTS||''','||'SYSDATETIME'||','||'''DBA'''||');'
FROM user_TABLES A
, ALL_TAB_COMMENTS B
WHERE A.TABLE_NAME = B.TABLE_NAME
and a.TABLE_NAME in (select table_name
from user_tables
where table_name like 'TC_%' or table_name like 'TH_%' or table_name like 'TN_%'
or table_name like 'TS_%')
ORDER BY A.TABLE_NAME;
--> 해당 쿼리도 행성된 INSERT 구문
INSERT INTO _CUB_SCHEMA_COMMENTS VALUES ('ts_pubr_prcuse_reqst_stats','*','활용_신청_통계',SYSDATETIME,'DBA');
2. 컬럼 COMMENT 등록 SQL 생성 스크립트
SELECT T.TABLE_NAME,T.COLUMN_NAME AS PHYSICAL_NAME,
C.COMMENTS AS LOGICAL_NAME,
T.DATA_TYPE AS TYPE,
CASE
WHEN T.DATA_TYPE = 'NUMBER' THEN T.DATA_PRECISION
ELSE CASE WHEN T.CHAR_LENGTH != 0 THEN T.CHAR_LENGTH ELSE NULL END
END
AS LENGTH,
T.DATA_SCALE,
T.DATA_DEFAULT,
T.NULLABLE,
'INSERT INTO _CUB_SCHEMA_COMMENTS VALUES ('''||lower(T.TABLE_NAME)||''','''||lower(T.COLUMN_NAME)||''','''||C.COMMENTS||''','||'SYSDATETIME'||','||'''DBA'''||');'
FROM USER_TAB_COLUMNS T, USER_COL_COMMENTS C
WHERE T.TABLE_NAME = C.TABLE_NAME
AND T.COLUMN_NAME = C.COLUMN_NAME
AND T.TABLE_NAME in (select table_name
from user_tables
where table_name like 'TC_%' or table_name like 'TH_%' or table_name like 'TN_%'
or table_name like 'TS_%')
ORDER BY T.TABLE_NAME,T.COLUMN_ID ASC;
--> 해당 쿼리도 행성된 INSERT 구문
INSERT INTO _CUB_SCHEMA_COMMENTS VALUES ('tc_brm_cd_systm','brm_cd','BRM_코드',SYSDATETIME,'DBA');
CMT 사용 시 첨부된 파일을 SQL 탭에서 선택 후
대상 테이블을 _cub_schema_comments 로 변경 후
ORACLE에서 마이그레이션 시 주석도 함께 입력 할 수 있습니다.