Web Programming
-
[JAVA] 1-1,, 1-1-1,, 1-1-1-1,, 정화히 정렬하기
Web Programming 2025. 7. 26. 11:16만약에 bom 레벨 구성을 해야하는데 level 데이터가 1-1, 1-2,, 1-10 과 같이 이루어져 있고따로 순서를 정해주는 컬럼이 없을 경우 쿼리로 1-1 컬럼을 order by 하면데이터 타입이 varchar 이기때문에 1-1, 1-2, .... 1-10 으로 정렬이 되지 않고1-1, 1-10, 1-11 ... 과 같이 정렬이 된다. 특수문자 '-' 가 들어가기 때문에 제대로 정렬이 될수가 없다.그럴경우 자바로 먼저 처리 후 화면에 표출해야된다.쿼리 리턴 타입이 ArrayList> 라고 할경우 함수1private ArrayList> orderByBomLevelList(ArrayList> bomList) { bomList.sort((map1, map2) -> { List levels1 = p..
-
[postgre] 테이블 시퀀스 셋팅하기
Web Programming 2025. 7. 26. 11:12데이터 이리저리 옮기고 데이터 맞추다 보면 "중복된 키 ~~" 고유 제약 조건 위반 에러가 발생하는데그 이유는 테이블 nextval('스키마.시퀀스명'::regclass) 에 +1 증가 설정을 해뒀는데insert 할때 insert into 에서 id 값을 999 처럼 번호를 주고 insert 를 시키게되면실제 시퀀스 값이 +1이 되지 않아 막상 시스템에서 insert 처리 시 위와 같은 오류가 발생한다. 그때는 다시 시퀀스 값을 아래와 같이 확인 후 맞춰 줘야 시스템상에서 insert 시 정상적으로 시퀀스가 증가하게 된다.1.시퀀스조회SELECT pg_get_serial_sequence('스키마.테이블명', 'id'); 2.시퀀스 업데이트SELECT setval('스키마.시퀀스명', 370, true);
-
[오라클] Oracle MERGE 로 한꺼번에 업데이트
Web Programming 2025. 6. 15. 19:39오라클로 특정 컬럼의 값을 조회해서 여러 행을 update 할때 MERGE INTO employees eUSING (SELECT employee_id, salary * 1.1 AS new_salary FROM employees WHERE department_id = 10) tempON (e.employee_id = temp.employee_id)WHEN MATCHED THENUPDATE SET e.salary = temp.new_salary; 위 쿼리 예시는 employees 테이블의 employee_id 와 temp 의 employee_id 가같을 경우 employees 테이블의 salary 를 업데이트 하는 쿼리이다.merge into 로 하면 쉽게 작성해서 처리 할 수 있으니 참고 ~끝!!!!
-
[.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 이하는 제공하지 않으니 참고 !!