3

私がやろうとしているのは、3 つの異なる条件で INSERT ステートメントを作成することです。

これまでに作成したものを次に示します (ただし、このコードでは 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
4

1 に答える 1

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

参考までにこちらをご覧ください

于 2013-05-08T09:42:18.420 に答える