2013-09-06 3 views
0

i m 테이블에 여러 데이터를 한 번에 삽입하는 스크립트를 만듭니다. 삽입 명령이 오류를주고있다 코드 위oracle 10G의 테이블에 여러 행을 삽입하는 방법은 무엇입니까?

ORA-00911: invalid character

가 정확하지만 뭔가 잘못 그러나 위의

create table emp 
(
Empno number(3) primary key, 
ename varchar2(20), 
job varchar2(20), 
MGR varchar2(20), 
sal varchar2(20) 
); 


insert all 
into emp values(100,'Dinesh','President',NULL,50000); 
into emp values(101,'Tanveer','MGR',100,25000); 
into emp values(102,'Tejas','Developer',101,12000); 
select * from dual 

, PLZ 발견하는 데 도움이.

+2

"into emp"줄 다음에 ";" –

+0

고맙습니다. 패트릭 :) –

+5

너무 현지화되었습니다. 문제는 문법 오류를 바로 잡으라는 것입니다. 그것은 다른 누구에게나 매우 제한된 유틸리티를 사용하게 될 것입니다. –

답변

1

단일 테이블 INSERT은 단일 VALUES 절 또는 하위 쿼리를 지정할 수 있습니다. 작업에 여러 행을 삽입해야하므로 단일 VALUES 절이 작동하지 않습니다. 하위 쿼리를 지정해야합니다. 원하는 서브 쿼리를 생성

하나의 간단한 방법은 SELECT 각 행에 대한 행 dual 리터의 시퀀스이며 UNION ALL 연산자를 사용하여 단일 테이블에 모두 접을.

INSERT INTO emp (empno, ename, job, mgr, sal) 
    SELECT 100, 'Dinesh', 'President', NULL, 50000 FROM dual UNION ALL 
    SELECT 101, 'Tanveer', 'MGR',  100, 25000 FROM dual UNION ALL 
    SELECT 102, 'Tejas', 'Developer', 101, 12000 FROM dual; 
+0

답변이 왜 효과가 있고 왜 왔는지 설명해주십시오. 그러면 유사하지만 동일하지 않은 문제를 가진 사람들이 귀하의 추론을 따르고 답을 얻는 방법을 이해할 수 있습니다. – ArtB

+0

@ArtB : 이것은 추론이 아니며 (대부분) 구문입니다. 설명이 추가되었습니다. –

+0

@ VadimK. 오류 : ORA-00928 : SELECT 키워드가 누락되었습니다 –

관련 문제