2012-07-10 2 views
2

:오라클 : SELECT에서 INSERT 값 ..., SQL 오류 가입 : ORA-00947을 : 충분한 값 나는 다음을 수행하려고 해요

INSERT INTO MyTable(a, b, c) 
SELECT a FROM source1 
JOIN source2 ON ... 
소스 2는 열 B와 C

을 포함

그러나 오라클은 이와 같이 보이지 않고 "SQL 오류 : ORA-00947 : 값이 충분하지 않습니다"라고 말합니다.

여기 뭔가 잘못 되었나요? 이 구문은 가능한가? 또는 다음과 같이 다시 써야합니까 :

SELECT a, b, c FROM source1, source2 WHERE .... 

고마워요!

답변

7

를 사용하여 많은 식별자에 쿼리를 다시 작성해야합니다

INSERT INTO MyTable(a, b, c) 
SELECT s1.a, s2.b, s2.c FROM source1 s1 
    JOIN source2 s2 ON ... 
+0

이 내가 필요한 수 있습니다. .. 나는 그것을 시험해 보아라. – mszaro

+0

완벽하게 일했습니다. 감사합니다 빈센트! – mszaro

0

select는 INSERT 문에 나열한 것과 동일한 수의 열을 반환해야합니다.

그래서 : 예, 당신은에서와 같이 INSERT 절에서와 같이 SELECT 절에 SELECT a,b,c FROM ...

관련 문제