본문 바로가기

반응형

Backend/DB 실무

(28)
01/09 회고 SQL쿼리 2중 정렬 SELECT SUM(cnt) AS count, total.sumCount, (CASE WHEN exCase = '1' THEN 'value1' WHEN exCase = '2' THEN 'value2' ... WHEN exCase = '24' THEN 'value24' ELSE '25' END) as category, ... FROM public.table, (SELECT SUM(cnt) AS sumCount FROM public.table) AS total GROUP BY exCase, total.sumCount ORDER BY CASE WHEN category = 'value24' THEN 1 WHEN category = 'value25' THEN 1 -- 여기서 '25'는 '상피..
[Mybatis] 대소문자 구분 없이 조회 대소문자 구분없이 조회 AND UPPER(table_kor_name) like UPPER('%' || #{searchKeyword} || '%') AND LOWER(table_kor_name) like LOWER('%' || #{searchKeyword} || '%') foreach문속 option selected 데이터 셋을 선택하세요 ${item.korName}_v.${item.version}
[Mybatis] The column index is out of range & COALESCE(A, B) MybatisError org.postgresql.util.PSQLException: The column index is out of range: 2, number of columns: 1. 주로 오타 때문에 column갯수가 안맞게 인식되는경우에 발생한다고 한다. 이번 케이스는 주석을 를 사용해야 하는데 /* */를 사용해서 발생했다. COALESCE(A,B) A,B를 비교해서 Null이 아닌 값을 유지하면서 둘다 NotNull이라면 A의 값을 반환 A B COALESCE(A,B) 1 2 1 Null 3 3 4 1 4 Null Null Null INSERT INTO public.data ( data_seq , var_version ) VALUES ( #{item.dataSeq} , COALESCE((S..
[Mybatis] foreach문과 사용되는 Mybatis 요소 정의 프로젝트를 진행하다 Service부분에서 null발생 뭔짓을 해도 Service부분에서 null이 발생하길래 쿼리가 제대로 안되는 줄 알고 select해봄 그래도 null이 나오길래 다시 확인해보니 Service자체를 Mapping시켜주지 않아서 그랬었다. @Autowired로 Service 맵핑시켜 정상작동 확인 Service부분에서 null이 발생하는 원인을 찾다가 쿼리문을 확인하는 과정에서 알게된 내용 정리 parameterType - 태그에 대한 parameterType 속성은 해당 나 쿼리에 전달되는 파라미터의 자료형 지정 collection - 태그의 collection 속성은 반복 작업을 수행할 컬렉션 또는 배열 지정 - 이 컬렉션 또는 배열은 MyBatis에서 제공한 parameterTyp..
[SQL] ROW_NUMBER()/RANK() OVER() SELCT ROW_NUMBER() OVER(PARTITION BY grouping_column ORDER BY ordering_column) FROM table_name PARTITION BY는 그룹핑할 기준 컬럼 지정 ORDER BY는 정렬할 기준 컬럼 지정 ROW_NUMBER는 행마다 순위를 작성한다. RANK() vs ROW_NUMBER() : 공동 순위 일때의 처리가 다르다 순위 적용 방식 예시 RANK() 1위, 1위, 3위 (실제로는 : 공동 1위) ROW_NUMBER() 1위, 2위, 3위 (실제로는 : 공동 1위)
[Mybatis] Mybatis XML 작성 템플릿 사용할 mapper지정 쿼리내용(select) 쿼리내용(insert) INSERT INTO DB명.table명 ( column, ...) VALUES ( #{파라미터}, ... ) SELECT CASE COUNT(*) WHEN 0 THEN 1 ELSE MAX(POST_SEQ) END AS POST_SEQ FROM ~ 쿼리내용(update) UPDATE DB명.Table명 SET BBS_CODE = #{bbsCode}, TITLE = #{title}, CONTENT = #{content}, REG_SEQ = #{regSeq}, MOD_DATE = now(), BBS_GB = #{bbsGb} WHERE POST_SEQ = #{postSeq} 쿼리내용(delete_board)/게시글은 삭제 하지 않고 숨김 처..
Oracle을 ODBC로 연결 Client 설치 후 TNS관련 에러 발생시 ※ Oracle Home에 Network관련 폴더 유무 확인 - 없으면 생성해야 함 (Oracle Home경로는 알고 있어야 한다.(Path환경변수를 참조해도 됨) Oracle Home\Netwrok\admin\ 안에 tnsnames.ora, sqlnet.ora, listener.ora 가 있어야 함 (eg. C:\Oracle\app\Administrator\product\12.1.0\client_1\Netwrok\admin\) ※ InstantClient를 구축하던 중 사용자 DSN을 등록하려하니 오류 코드 126, SQORAS32.DLL을 찾지 못하는 오류가 발생 (ODBC사용 bit를 확인해서 32bit인지 64bit인지 확인을 해야함) 1. Instan..
Oracle 12c uninstall 1. 오라클 프로그램 항목들 중에서, Universal Installer 를 실행 프로그램이 실행되면, "제품 설치 해제" 를 클릭 설치 되어 있는 제품 체크 후, 제거 버튼 누름 그러면 11g 때와 마찬가지로 경고창 호출 됨. 배치 파일 실행해서 삭제하라는 얘기 2. 경고창이 시키는대로 배치 파일 실행하러 경로 이동 ...\(오라클경로)\deinstall CMD 를 관리자 모드로 실행해서 배치 파일 실행 또는, 파일 탐색기에서 deinstall.bat 를 관리자 권한으로 실행 (tab쓰면 좀더 편함) 뭐 하라고 나오면 그냥 Default(걍 엔터)로 진행 3. CMD 에서 sqlplus 실행 및 1521 리스너 체크해도 아무것도 안나옴, 서비스 목록에도 없어진것 확인 11g 때와 마찬가지로, 완전 삭제..

반응형