2013-05-08 39 views
3

我想要做的是寫一個INSERT語句與三種不同的條件。插入所有條件PL/SQL

這是我到目前爲止做出(但是這個代碼獲得一個ORA-00913的值太多錯誤):

INSERT ALL 
    WHEN SALARY > 20000 THEN 
    INTO SPECIAL_SAL13(EMPLOYEE_ID,HIRE_DATE,MANAGER_ID,SALARY) 
    WHEN SALARY <= 20000 THEN 
    INTO SAL_HISTORY13(EMPLOYEE_ID,SALARY) 
    WHEN SALARY <= 20000 THEN 
    INTO MGR_HISTORY13(EMPLOYEE_ID,MANAGER_ID,SALARY) 
SELECT EMPLOYEE_ID,HIRE_DATE,MANAGER_ID,SALARY 
FROM EMPLOYEES 
WHERE EMPLOYEE_ID < 125 

回答

5

嘗試

INSERT ALL 
    WHEN SALARY > 20000 THEN 
    INTO SPECIAL_SAL13(EMPLOYEE_ID,HIRE_DATE,MANAGER_ID,SALARY) 
    VALUES(EMPLOYEE_ID,HIRE_DATE,MANAGER_ID,SALARY) 
    WHEN SALARY <= 20000 THEN 
    INTO SAL_HISTORY13(EMPLOYEE_ID,SALARY) 
    VALUES(EMPLOYEE_ID,SALARY) 
    WHEN SALARY <= 20000 THEN 
    INTO MGR_HISTORY13(EMPLOYEE_ID,MANAGER_ID,SALARY) 
    VALUES(EMPLOYEE_ID,MANAGER_ID,SALARY) 
SELECT EMPLOYEE_ID,HIRE_DATE,MANAGER_ID,SALARY 
FROM EMPLOYEES 
WHERE EMPLOYEE_ID < 125 

更多信息參見here

+0

是的,這正是我需要的:)謝謝很多秒會接受答案:) – harry180 2013-05-08 09:48:43