오라클(ORACLE) INSERT 방법과 TABLE로 복사하기

오라클(ORACLE) INSERT 방법과 TABLE로 복사하기


오라클에서 쿼리를 한다면 가장 기본적인 것이 바로 INSERT, UPDATE, DELETE 문 입니다.
그중 데이터를 조회하기 위해 테이블에 데이터가 있어야 하는데요.
바로 INSERT 문으로 데이터를 등록하게 되어 있습니다.

INSERT 기본 문형과 INSERT할 값이 여러 ROW 일 때 사용하는 방법을 알아보겠습니다.

테이블을 먼저 생성해보겠습니다.
CREATE 문으로 SEQ, TITLE, USER_NAME 컬럼을 갖는 테이블입니다.

오라클(ORACLE) INSERT 방법과 TABLE로 복사하기


 

 

생성한 테이블에 값을 등록해보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
INSERT INTO 테이블 명
(
 컬럼1
 컬럼2
 ....
)
VALUE
(
 값1
 값2
 ....
)
 
cs


기본적으로 이렇게 사용합니다. 
실제 쿼리로 적용하면
 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
INSERT INTO TABLE1
(
 SEQ
 , TITLE
 , USER_NAME
)
VALUES
(
 1
 ,'제목1'
 ,'관리자1'
)
;
 
cs

컬럼갯수와 값수가 다르면  아래와 같은 오류가 발생합니다.
ORA-00913: 값의 수가 너무 많습니다
ORA-00947: 값의 수가 충분하지 않습니다


 

 

 

데이터가 잘 등록되었는지 테이블을 조회해보겠습니다.


 

 

 

이제 TABLE1 과 동일한 테이블2를 생성해서 INSERT 문으로 데이터를 복사해보겠습니다.
동일한 테이블을 TABLE2로 생성했습니다.

쿼리는 아래와 같이 사용할 수 있습니다.
모든 컬럼을 사용 시 INSERT 절에 컬럼명은 생략할 수 있습니다.

INSERT INTO 데이터복사할 테이블
SELECT * FROM 원본테이블

실제로 적용해보면

1
2
INSERT INTO TABLE2
SELECT * FROM TABLE1
cs


 

 

근데 동일한값을 복사하는 것이 아니라 테이블 레이아웃이 다르거나 값이 다르게 변형돼서
등록되어야 하는 경우에는 쿼리에 컬럼을 지정해줘야 합니다.
관리자 이름을 등록자로 REPLACE문으로 변경해서 등록해보겠습니다.


 

 

 

데이터를 조회해보니 등록이 잘되었습니다.

오라클(ORACLE) INSERT 방법과 TABLE로 복사하기를 알아보았습니다.