오라클 프로시저, 함수 호출
·
SQL
함수 호출ex_package 패키지 안에 있는 ex_function 함수 호출 방법다건 리턴SELECT * FROM TABLE(ex_package.ex_function());단건 리턴SELECT ex_package (ex_function()) FROM DUAL;프로시저 호출ex_package 패키지 안에 있는 ex_procedure 프로시저 호출 방법매개변수 OUT (NUMBER, VARCHAR)ex) PROCEDURE ex_procedure (p_ERR_COD OUT NUMBER,p_ERR_MSG OUT VARCHAR2) ISDECLARE p_ERR_COD NUMBER; p_ERR_MSG VARCHAR2(100);BEGIN ex_package.ex_procedure('홍길동', '01..
MyBatis Caching
·
SQL
문제하나의 트랜잭션 내에서 동일한 파라미터로 쿼리문을 반복 호출했을 때,쿼리가 내부적으로 한 번만 실행되는 문제가 발생했다.테이블에 동일한 데이터를 여러 번 삽입하면 무결성 제약조건을 위반하여 오류를 발생시켜야 함에도 불구하고,하나의 트랜잭션 내에서 쿼리가 한 번만 실행된 것으로 인식되어데이터베이스에 정상적으로 등록되는 상황이었다.원인MyBatis 캐시1차 레벨 캐시 : Local Cache2차 레벨 캐시MyBatis의 캐시가 원인이었다. 기본적으로 MyBatis는 로컬 캐시를 세션 단위로 설정되어있는데, 이 경우 하나의 세션(트랜잭션) 내에서 동일한 입력 매개변수로 동일한 쿼리를 반복 실행하면 로컬 캐시에 저장된 객체를 재사용한다.참고 : https://mybatis.org/mybatis-3/java-..