source

Oracle 11G에 SELECT 문 삽입

manycodes 2023. 3. 7. 21:38
반응형

Oracle 11G에 SELECT 문 삽입

Oracle 11g에서 매우 간단한 sql 문을 실행하려고 합니다.

 insert into table1 (col1, col2) values (select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2);

매우 간단한 질문입니다.오래된 표 1을 오래된 표 2에 데카르트 결합하고 결과 값을 표 1에 넣습니다.

서브쿼리를 직접 실행해 봤는데 완벽하게 작동하더군요

 select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2

full 문을 실행하려고 하면 다음 오류가 나타납니다.

 SQL Error: ORA-00936: missing expression
 00936. 00000 -  "missing expression"

MySql에서도 동작하지 않습니다.제 진술에 뭔가 문제가 있는데, 그게 뭔지 잘 모르겠어요.

질의는 다음과 같습니다.

insert into table1 (col1, col2) 
select t1.col1, t2.col2 
from oldtable1 t1, oldtable2 t2

즉, 이 경우,VALUES일부.

를 삭제하다values키워드 및 parens를 지정합니다.여기서 예를 볼 수 있습니다.

기본 INSERT 구문은 다음과 같습니다.

INSERT INTO "table_name" ("column1", "column2", ...)
VALUES ("value1", "value2", ...);

INSERT SELECT 구문은 다음과 같습니다.

INSERT INTO "table1" ("column1", "column2", ...)
SELECT "column3", "column4", ...
FROM "table2";

'select'를 소스로 사용할 때는 'values' 절이 필요하지 않습니다.

insert into table1 (col1, col2) 
select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2;

테이블에 데이터를 삽입하기 위해 쓸 수 있습니다.

insert into tablename values(column_name1,column_name2,column_name3);

단,column_name표의 순서에 따라 순서대로...

테이블에 데이터를 삽입하는 다른 옵션이 있습니다.

insert into tablename values(&column_name1,&column_name2,&column_name3);

데이터 값을 삽입하기 위한 다른 창이 열립니다.

언급URL : https://stackoverflow.com/questions/7323407/insert-select-statement-in-oracle-11g

반응형