SELECT 'oracle' AS "dbType", TEMP.COLUMN_NAME AS "columnName", TEMP.data_type AS "columnType", TEMP.data_type AS "dataType", TEMP.comments AS "comments", CASE TEMP.constraint_type WHEN 'P' THEN 'PRI' WHEN 'C' THEN 'UNI' ELSE'' END "columnKey" FROM ( SELECT col.column_id, col.COLUMN_NAME, col.data_type, colc.comments, uc.constraint_type, ROW_NUMBER ( ) OVER ( PARTITION BY col.COLUMN_NAME ORDER BY uc.constraint_type DESC ) AS row_flg FROM user_tab_columns col LEFT JOIN user_col_comments colc ON colc.TABLE_NAME = col.TABLE_NAME AND colc.COLUMN_NAME = col. COLUMN_NAME LEFT JOIN user_cons_columns ucc ON ucc.TABLE_NAME = col.TABLE_NAME AND ucc.COLUMN_NAME = col. COLUMN_NAME LEFT JOIN user_constraints uc ON uc.CONSTRAINT_NAME = ucc.CONSTRAINT_NAME WHERE col.TABLE_NAME = #{tableName} ) TEMP WHERE TEMP.row_flg = 1 ORDER BY TEMP.column_id