다른 부서의 데이터를 복사해서 추가를 해야하는 일이 생겼다.
어렵진 않았다.
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 조건~
------------------------------------------------------------------------------------------------------------------
'💿 Oracle > Oracle 팁' 카테고리의 다른 글
Update로 데이터 오름차순 정렬하여 저장하기 (0) | 2022.05.20 |
---|