2012-08-29 1 views
-1

VALUES 절을 구문의 다른 위치로 이동했지만 운행하지 않았습니다. 나는 초보자이며 모든 도움을 주시면 감사하겠습니다. 고맙습니다.ORA-00926 : VALUES 키워드가 누락되었습니다.

INSERT INTO KEYITEM.296 (KEYVALUECHAR, KEYSETNUM) 
VALUES ('NOT PUBLIC', 0) 
SELECT 
    KEYITEM296.KEYVALUECHAR, 
    KEYITEM296.KEYSETNUM 
FROM 
    ITEMDATA 
LEFT OUTER JOIN 
    KEYITEM296 
ON 
    (
     ITEMDATA.ITEMNUM = KEYITEM296.ITEMNUM) 
WHERE 
    ITEMDATA.ITEMTYPENUM = 862 ; 

답변

0
INSERT INTO KEYITEM296 (KEYVALUECHAR, KEYSETNUM, ITEMNUM) 
VALUES ('NOT PUBLIC', 0, 862); 

    --You must complete your insert with ITEMNUM 
    -- you must add ; separator 
    -- you must delete '.' of your query 

SELECT 
    KEYITEM296.KEYVALUECHAR, 
    KEYITEM296.KEYSETNUM 
FROM 
    ITEMDATA 
LEFT OUTER JOIN 
    KEYITEM296 
ON 
    (
     ITEMDATA.ITEMNUM = KEYITEM296.ITEMNUM) 
WHERE 
    ITEMDATA.ITEMTYPENUM = 862 ; 
1

나는 DB2의 팬이에요,하지만 당신은 값을 혼합하고 INSERT에서 선택할 수 없습니다.

INSERT INTO KEYITEM.296 (KEYVALUECHAR, KEYSETNUM) 
SELECT 
    KEYITEM296.KEYVALUECHAR, 
    KEYITEM296.KEYSETNUM 
FROM 
    ITEMDATA 
LEFT OUTER JOIN 
    KEYITEM296 
ON 
    (
     ITEMDATA.ITEMNUM = KEYITEM296.ITEMNUM) 
WHERE 
    ITEMDATA.ITEMTYPENUM = 862 

또는

INSERT INTO KEYITEM.296 (KEYVALUECHAR, KEYSETNUM) 
VALUES ('NOT PUBLIC', 0) 

가 아니면 다음 INSERT를하고 싶은 경우 SELECT :

INSERT INTO KEYITEM.296 (KEYVALUECHAR, KEYSETNUM) 
VALUES ('NOT PUBLIC', 0); 
SELECT 
    KEYITEM296.KEYVALUECHAR, 
    KEYITEM296.KEYSETNUM 
FROM 
    ITEMDATA 
LEFT OUTER JOIN 
    KEYITEM296 
ON 
    (
     ITEMDATA.ITEMNUM = KEYITEM296.ITEMNUM) 
WHERE 
    ITEMDATA.ITEMTYPENUM = 862 ; 
+0

Kovica 팀은 두 개의 쿼리를 실행

올바른 SQL은 데이터를 삽입하기위한 것 , 삽입시 –

+0

에 삽입하고 왼쪽에서 조인 한 첫 번째 쿼리에서 그는 데이터를 삽입하고 두 번째 실행에서는 왼쪽 조인 b 그가 왼쪽 조인을 실행할 때 그는 ITEMNUM 값을 설정하지 않습니다 –

+0

문제 중 하나는 KEYITEM.296 및 KEYITEM296입니다. 어느 쪽이 맞습니까? – kovica