SELECT 'private '
, CASE WHEN B.DATA_TYPE = 'NUMBER' AND B.DATA_PRECISION > 10 THEN 'String'
WHEN B.DATA_TYPE = 'NUMBER' AND B.DATA_PRECISION = 10 THEN 'Long'
WHEN B.DATA_TYPE = 'NUMBER' AND B.DATA_PRECISION < 10 THEN 'Integer'
WHEN B.DATA_TYPE = 'DATE' THEN 'Date'
ELSE 'String'
END F_TYPE
,LOWER(A.COLUMN_NAME) || ';' AS FIELD_NM
/*
,LOWER(SUBSTR(A.COLUMN_NAME,0,1))||SUBSTR( REPLACE(INITCAP(A.COLUMN_NAME), '_'), 2, LENGTH(REPLACE(INITCAP(A.COLUMN_NAME), '_'))-1) || ';' AS FIELD_NM
*/
, '/** '||A.COMMENTS || ' **/' AS NM
FROM USER_COL_COMMENTS A, USER_TAB_COLUMNS B
WHERE A.TABLE_NAME = B.TABLE_NAME
AND A.COLUMN_NAME = B.COLUMN_NAME
AND A.COMMENTS IS NOT NULL
AND A.TABLE_NAME = '테이블명';