Web Programming
-
[.jar] 더블클릭 실행 주의
Web Programming 2025. 6. 15. 15:20 .jar 을 만들어서 cmd 로 실행시키는 경우가 보통 많다. 그런데 run.bat 으로 정상적으로 .jar 를 실행시키지 않고 .jar 를 더블클릭을 해버리면 정상적인 서비스 실행이 안될수도 있지만 반대로 제대로 된 서비스 수행이 되지 않아서 처리한 데이터 들이 중복 등록과 같은 문제가 발생할 수 있다. 그러니 run.bat 으로 실행을 권장하며 더블클릭 했을 경우 작업관리자에서 실행중인 .jar를 반드시 종료시켜줘야 한다. 더블클릭 시 보통은 정상 실행이 되지 않지만 나같은 경우는 정상실행이 되어서 메세지 알림이 중복 전송되는 경우가 있었다. 더블클릭 실수는 자주 범할 수 있은 실수이니 주의 !!!!
-
[오라클] Oracle with 절 쿼리 예시
Web Programming 2025. 6. 15. 13:59오늘은 오라클에서 간단하게 with 절 쿼리 예시를 작성해보려고 한다. 장점!!!!WITH 절을 사용하면 서브쿼리를 한 번 계산하고 여러 번 재사용할 수 있어 가독성과 유지보수성이 향상 !!반복 사용되는 서브쿼리 최적화: 동일한 서브쿼리를 여러 번 실행하는 경우, WITH 절을 사용하면 불필요한 중복 연산을 줄일 수 있음.쿼리 가독성 향상: 복잡한 쿼리를 논리적으로 나눌 수 있음. 쿼리 예시 WITH temp_table AS ( SELECT emp_id, salary FROM employees WHERE department_id = 10)SELECT * FROM temp_table t1JOIN temp_table t2 ON t1.emp_id = t2.emp_id; 간단하게 말하면 WITH 안에 있..
-
[오라클] 오라클 LIMIT -> FETCH FIRST 1 ROWS ONLY
Web Programming 2025. 6. 15. 13:37오라클에서 제한된 데이터를 보려고할때 다른 DB 언어에서 보통 LIMIT 제공하여 사용하면 되지만오라클의 경우는 FETCH FIRST 1 ROWS ONLY 로 데이터 수를 제한하여 표출할 수 있다.SELECT * FROM employeesORDER BY salary DESCFETCH FIRST 10 ROWS ONLY;FETCH FIRST 1 ROWS ONLY 를 사용하거나 다른 방법으로는 ROWNUM 을 사용하면된다.오라클 버전에 따라 12c 이상은 FETCH FIRST 1 ROWS ONLY 제공하지만11c 이하는 제공하지 않으니 참고 !!
-
ANSI 쿼리 ANSI 쿼리란?
Web Programming 2025. 6. 15. 13:13ANSI SQL이란? ANSI SQL은 미국 표준 협회(ANSI, American National Standards Institute)가 정한 표준 SQL 문법입니다. 모든 SQL 구현(DBMS)이 따르는 기본 SQL 언어의 공통된 규약 ANSI 조인SELECT e.name, d.dept_nameFROM employees eJOIN departments d ON e.dept_id = d.id; 이전(구형) 조인SELECT e.name, d.dept_nameFROM employees e, departments dWHERE e.dept_id = d.id; 함수도 COUNT, MIN, MAX 처럼 기본적인 것들만 허용되므로 잘찾아보고 쿼리문을 작성하여야한다. ANSI 는 단순하게 범용으로 쿼리를 작성하여 어떤..
-
문자열 비교 방식(정렬 및 대소문자 구분 등)을 제어하는 규칙 COLLATE
Web Programming 2025. 6. 15. 13:02이름 컬럼인데 order by name asc를 해도정상적으로 가나다 순으로 정렬이 되지 않았다.그래서 설정값이 우선 어떻게 되어 있는지 확인을 했다.SELECT * FROM pg_collation WHERE collname = 'ko_KR.utf8'; 그랬더니 ko_KR.utf8 설정이 전혀안되어 있었다.유지보수하는 사이트라서 설정은 수정해버리면 현재 맞춰져 있는 정렬이다 틀어질 것 같아서ORDER BY NAME COLLATE "ko_KR.utf8" asc "한국어 정렬 규칙(ko_KR.utf8)에 따라 name 열을 오름차순(ASC) 으로 정렬하라는 의미" 위 방식으로 현재 문제가 되고 있는 정렬에만 적용이 되서 표출되도록 쿼리를 수정해주었다.
-
[오라클] LEAD 로 연속된 날짜 데이터 개월 수 차이 구하기
Web Programming 2025. 6. 15. 12:36오라클에서 연속된 데이터를 처리하기 위해 LEAD 함수에 대해서 알아보자.위와 같은 데이터가 있다고 하면각각의 코드별의 DATE_COL 날짜를 비교 해서 개월 수 차이를 구하고 마지막 상위 값이 A 20241101 은현재 날짜와 비교하여 개월 수를 구한다음에 각각 코드의 개월 수 총합을 구하려고 한다.코드 GROUP BY 전 결과전체쿼리 !!!!SELECT R.CODE, SUM(R.DATA_DIFF) AS SUM_DATASELECT date_col, CODE, NVL( MONTHS_BETWEEN( LEAD(TO_DATE(date_col, 'YY/MM/DD')) OVER (ORDER BY TO_DATE(date_col, 'YY/MM/DD')..