[Oracle Database] 테이블 컬럼을 자바 필드로 만드는 쿼리
테이블 컬럼을 자바 필드로
SELECT
/*A.TABLE_NAME, A.COLUMN_NAME, B.COMMENTS, A.DATA_TYPE,*/
'/**' || B.COMMENTS || '*/' || 'private '
|| CASE DATA_TYPE
WHEN 'NUMBER' THEN 'Integer'
WHEN 'DATE' THEN 'Date'
ELSE 'String'
END
|| ' ' || A.COLUMN_NAME || '; // ' || A.DATA_TYPE || '('
|| CASE A.DATA_TYPE
WHEN 'NUMBER' THEN A.DATA_PRECISION || ',' || A.DATA_SCALE
ELSE TO_CHAR(A.DATA_LENGTH)
END
|| ')' AS "FIELD"
FROM ALL_TAB_COLUMNS A
JOIN ALL_COL_COMMENTS B ON A.COLUMN_NAME = B.COLUMN_NAME AND A.TABLE_NAME = B.TABLE_NAME
WHERE A.OWNER = 'SOME_OWNER'
AND A.TABLE_NAME = 'SOME_TABLE'
ORDER BY COLUMN_ID;
쿼리로 목록 추출한 다음 할 일:
- 줄 바꿈
- 편집기로 카멜케이스 변환
- 자바 데이터 타입 변경
곁다리: 컬럼 코멘트를 열 머리글(별칭)로
SELECT
"COLS".COLUMN_NAME || ' AS "' || "COMM".COMMENTS || '",'
FROM ALL_TAB_COLUMNS "COLS"
JOIN ALL_COL_COMMENTS "COMM" ON "COLS".TABLE_NAME = "COMM".TABLE_NAME AND "COLS".COLUMN_NAME = "COMM".COLUMN_NAME
WHERE "COLS".TABLE_NAME = 'SOME_TABLE'
ORDER BY "COLS".COLUMN_ID;