본문 바로가기
728x90
반응형

database14

[MyBatis] foreach로 배열 파라미터 삽입 IN으로 항목을 SELECT 해야 할 때 사용하는 방법입니다. SELECT * FROM table where id IN (${list_data}) 위 같은 실수를 하지 않길 바랍니다. 아래 코드처럼 foreach문을 사용하면 보안을 유지할 수 있습니다. SELECT * FROM table where id IN #{map} String[] array; SELECT * FROM table where id IN #{map[i]} ArrayList list = new ArrayList(); SELECT * FROM table id = #{map} 만약, ### Error querying database. Cause: java.sql.SQLException: ORA-56900: 바인드 변수는 피벗|피벗 해제 작업.. 2020. 10. 31.
[MySQL] 다중 테이블 삭제 (join + delete) Delete 쿼리문으로 다수의 테이블의 데이터를 삭제하는 방법을 알아보겠습니다. 1. 테이블 A의 데이터만 삭제 DELETE FROM a USING tableA AS a LEFT JOIN tableB AS b ON a.id = b.id WHERE b.컬럼 = '값' 2. 테이블 B의 데이터만 삭제 DELETE FROM b USING tableA AS a LEFT JOIN tableB AS b ON a.id = b.id WHERE b.컬럼 = '값' 3. 테이블 A, B의 데이터 모두 삭제 DELETE FROM a, b USING tableA AS a LEFT JOIN tableB AS b ON a.id = b.id WHERE b.컬럼 = '값' 2020. 10. 31.
[oracle] OVER (PARTION BY) ; 조건별 누계 (분석함수) 집계함수는 여러행 또는 테이블 전체 행으로부터 그룹별로 집계하여 결과를 반환(그룹별 1개의 행을 반환)하고, 분석함수는 집계 결과를 각 행마다보여줍니다. (+ 오라클 8.1.6 부터 분석함수 지원) SELECT ANALYTIC_FUNTION (arguments) OVER ( [ PARTITION BY 컬럼] [ ORDER BY 컬럼 ] [ WINDOWING 절 (Rows | Range Between) ] ) FROM TABLE_NAME ANALYTIC_FUNCTION : 분석함수명(입력인자) OVER : 분석함수임을 나타내는 키워드. PARTITION BY : 계산 대상 그룹을 정한다. ORDER BY : 대상 그룹에 대한 정렬을 수행한다. WINDOWING 절 : 분석함수의 계산 대상 범위를 지정한다... 2020. 10. 9.
[oracle] ROLLUP, CUBE, GROUPING SETS (집계함수) 집계함수는 여러행 또는 테이블 전체 행으로부터 그룹별로 집계하여 결과를 반환(그룹별 1개의 행을 반환)하고, 분석함수는 집계 결과를 각 행마다 보여줍니다. 1. ROLLUP() 그룹의 소계와 총계를 구한다. (순서가 중요하다. 제일 앞에 놓인 것에 대해서 소계를 구하게 된다.) GROUP BY ROLLUP(A, B) = GROUP BY A, B UNION ALL GROUP BY B UNION ALL 모든 집합 그룹 결과 2. CUBE() 각 그룹의 모든 경우의 수에 대한 소계와 총계를 구한다. GROUP BY CUBE(A, B) = GROUP BY A, B UNION ALL GROUP BY A UNION ALL GROUP BY B UNION ALL 모든 집합 그룹 결과 3. GROUPING SETS() .. 2020. 10. 8.
728x90
반응형