같은 테이블에 데이터 복사
조건
1. 특정 컬럼 값 변경 필요
2. 데이터 여러 행 (조건에 따라 개수 변경되는 경우)
3. 컬럼 3개(column1, column2, sequance)에 Unique 제약이 걸려있음.
최소 1개는 새로 넣는 데이터와 기존의 데이터가 달라야 함
INSERT INTO
table_name
(
column1,
column2,
column3,
sequance,
column4
)
SELECT
column1,
column2,
column3,
(sequance +
(
SELECT
COUNT (sequance)
FROM
table_name
WHERE
column1 = #{column1} AND column2 = #{column2} AND column3 = #{column3} AND column4 = '1'
)) AS sequance, // 조건에 맞는 컬럼 수만큼 시퀀스 수 추가
'2' AS column4 // 특정 컬럼값 변경하기 (통일)
FROM
table_name
WHERE
column1 = #{column1} AND column2 = #{column2} AND column3 = #{column3} AND column4 = '1'
'SQL' 카테고리의 다른 글
[DB Query] SELECT 결과에 따라 조건문 바꾸기 (0) | 2020.03.03 |
---|---|
[SQL] decode() 함수 (0) | 2020.02.14 |
쿼리문 하나에서 두 개의 COUNT 조회하기 (0) | 2020.01.29 |
[MySQL] MySQL JDBC connector jar파일 다운받기 (0) | 2019.10.22 |
[DB] Oracle developer와 MVC 프로젝트 연결이 안 되는 오류 (0) | 2019.09.27 |
댓글