같은 테이블에 데이터 복사, 다른 테이블에 데이터 복사
다른 부서의 데이터를 복사해서 추가를 해야하는 일이 생겼다.
어렵진 않았다.
INSERT를 SELECT과 같이 사용하면 됐었다. 따로 VALUES로 값을 지정을 안해도 됐었다.
같은 테이블에 부서만 다르게 하여 복사하기
- 복사할 부서코드는 AAAA, 복사될 부서코드는 BBBB
- INSERT 다음에 오는 SELECT에는 테이블의 전체 컬럼을 써주고, 바꿔야 할 컬럼은 값을 입력한다.
------------------------------------------------------------------------------------------------------------------
INSERT INTO 테이블명
SELECT 'BBBB', 컬럼명1, 컬럼명2, 컬럼명3, 컬럼명4, ~
FROM 테이블명
WHERE DEPT_CODE = 'AAAA'
AND 조건~
------------------------------------------------------------------------------------------------------------------
백업을 위해 똑같은 유형의 테이블을 만들어놓고 특정 기간 데이터만 복사해두는 작업도 있었다.
형식이 같은 다른 테이블에 데이터 복사하기
- 형식이 같다는건 컬럼의 종류와 갯수가 일치함
- 만약에 형식이 다른 테이블에 복사를 해야하면 SELECT 사용시 *대신 컬럼명들을 직접 입력해주면 됨
------------------------------------------------------------------------------------------------------------------
INSERT INTO 테이블명_BAK
SELECT *
FROM 테이블명
WHERE 조건~
------------------------------------------------------------------------------------------------------------------