오라클 INSERT시 SELECT문을 여러개 사용할 수 있나요? 0 4 654

by 킹오 [2020.07.31 19:33:38]


안녕하세요.

공부 중에 궁금한 게 있어 질문 올립니다.

 

오라클로 쿼리 작성중이고 

TABLE A에 INSERT를 하고 싶은데 여러 테이블에서 값을 가져와서 넣고 싶습니다 .

예를 들어.. 

TABLE A에 어떠한 값을 넣을 건데 B, C라는 두 테이블의 값을 넣고 싶어

이 두 테이블을 셀렉트 하여 넣고 싶은데요,

 

제가 아는 문법으로는 VALUES부분에 VALUES를 쓰지 않고

셀렉트를 작성하는 것으로 알고 있습니다 .

 

MYSQL은 콤마(,)로 구분지어서 VALUES 부분에 작성이 가능한 것 같은데,

ORACLE의 경우엔 하나의 셀렉트 구문 안에 테이블 2개, 3개를 넣어서 조회해야 하는 것이 맞는지 궁금합니다 

by pajama [2020.07.31 20:20:19]

MYSQL은 insert into tab1 (a) values (3),(4),(5)  이런식을 말씀하시는듯 하네요.

오라클은 이런 문법은 지원하지 않고 VALUES를 일일이 수행하시거나

INSERT INTO TABLEA (컬럼1, 컬럼2...) SELECT 컬럼1, 컬럼2 FROM TABLEB 와 같이 하시면 됩니다.


by 킹오 [2020.08.01 00:45:56]

일단 전부 조인으로 묶어서 해결했습니다. 말씀해주신 다른 방법으로도 해봐야겠네요 ㅎㅎ 감사드립니다 


by 킹오 [2020.07.31 20:37:17]

아 그렇다면 테이블 A에 테이블 B,C,D의 조회값을  INSERT 하고 싶으면

하나의 SELECT 안에서 B,C,D 테이블을 전부 가져와서 A 테이블에 넣어야 한다는 말씀이시죠? 


by pajama [2020.07.31 21:00:48]

정확히 어떻게 입력하시려는지 모르겠지만

B,C,D 테이블을 조인하거나 UNION/UNION ALL등으로 묶은 SELECT 문장을 사용하시면 될듯합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입