-- MariaDB 10.4 기준으로 작성 --

SELECT TABLE_SCHEMA
             , TABLE_NAME
             , COLUMN_NAME
             , ORDINAL_POSITION
             , CONCAT(
                  GROUP_CONCAT(
                        CASE WHEN SUBSTR(COLUMN_NAME, SEQ - 1, 1) = '_'
                                        THEN UPPER(SUBSTR(COLUMN_NAME, SEQ, 1))
                                 ELSE LOWER(SUBSTR(COLUMN_NAME, SEQ, 1))
                         END
                   ORDER BY SEQ SEPARATOR '')
                ,'') AS CAMELCASE
    FROM INFORMATION_SCHEMA.COLUMNS
   INNER JOIN seq_1_to_20 ON SEQ <= LENGTH(COLUMN_NAME)
 WHERE TABLE_SCHEMA = '스키마명'
       AND TABLE_NAME = '테이블명'
       AND SUBSTR(COLUMN_NAME, SEQ, 1) != '_'
 GROUP BY TABLE_SCHEMA
             , TABLE_NAME
             , COLUMN_NAME
             , ORDINAL_POSITION
 ORDER BY ORDINAL_POSITION

-- 실행하면 해당 테이블의 컬럼들을 카멜케이스가 적용된 형태의 결과값을 볼 수 있다.

* 테이블 PK 설정하기

ALTER TABLE 테이블명
ADD CONSTRAINT 제약조건명 PRIMARY KEY (column1, column2, ... column_n);

ex) 

ALTER TABLE emp
ADD CONSTRAINT emp_pk PRIMARY KEY (column1, column2, ... column_n);

 

* 참고.

pk를 재설정 하기위해 기존에 설정된 PK 삭제가 필요할 때

-- 인덱스와 제약조건 둘 다 삭제
ALTER TABLE 테이블명 DROP PRIMARY KEY DROP INDEX;


-- 제약조건만 삭제. 인덱스 남김
ALTER TABLE 테이블명 DROP PRIMARY KEY KEEP INDEX;

/* 오라클 도메인 만들기 */
SELECT '-- ' || TABLE_NAME ||  '	/* ' || COMMENTS || ' */' AS res
  FROM ALL_TAB_COMMENTS
 WHERE TABLE_NAME = '테이블명'
 UNION all
 SELECT 'private ' || decode(DATA_TYPE,'VARCHAR2','String',
					'VARCHAR' ,'String',
					'CHAR'    ,'String',
					'DATE'    ,'String',
					'NUMBER'  ,'Integer','')
		 || ' ' || a.COLUMN_NAME  || '; ' ||  '	/* ' || b.COMMENTS || ' ' || a.DATA_TYPE || ' */'
  FROM ALL_TAB_COLUMNS a, ALL_COL_COMMENTS b
 WHERE a.COLUMN_NAME = b.COLUMN_NAME 
   AND a.TABLE_NAME = b.TABLE_NAME
   AND a.TABLE_NAME = '테이블명';

테이블명만 잘 입력해주면 된다.

전체 선택 후 복사해서 JAVA에서 쓰면 됨.

+ Recent posts