💿 Oracle/Oracle 팁

같은 테이블에 데이터 복사, 다른 테이블에 데이터 복사

동일 2022. 5. 23. 13:16

다른 부서의 데이터를 복사해서 추가를 해야하는 일이 생겼다.

어렵진 않았다.

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 조건~

------------------------------------------------------------------------------------------------------------------