【发布时间】:2021-08-23 21:26:54
【问题描述】:
我正在尝试使用过程将员工数据从 hr 数据库插入到员工表中。我收到这些错误:
19/5 PL/SQL: SQL Statement ignored
20/72 PL/SQL: ORA-00984: column not allowed here
当我执行这段代码时:
CREATE OR REPLACE PROCEDURE proc_add_new_emp(p_employee_id IN NUMBER,
p_employee_first_name IN VARCHAR2,
p_employee_last_name IN VARCHAR2,
p_employee_email IN VARCHAR2,
p_employee_phone_number IN VARCHAR2,
p_employee_hire_date IN DATE,
p_employee_job_id IN VARCHAR2,
p_employee_salary IN NUMBER,
p_employee_commission_pct IN NUMBER,
p_employee_manager_id IN VARCHAR2,
p_employee_department_id IN VARCHAR2) IS
BEGIN
INSERT INTO employees (employee_id, employee_first_name, employee_last_name, emp_email, employee_phone_number, employee_hire_date, employee_salary, employee_commission_pct, employee_manager_id, employee_department_id)
VALUES(p_employee_id, p_employee_first_name, p_employee_last_name, p_emp_email, p_employee_phone_number, p_employee_hire_date, p_employee_salary, p_employee_commission_pct, p_employee_manager_id, p_employee_department_id);
END;
/
【问题讨论】:
-
错误标识第 19 行和第 20 行。您显示的代码只有 16 行。
-
错误的参数名称是usd。只需在
VALUES列表中将p_emp_email替换为p_employee_email。似乎没有其他错误,大概是 clumn 名称是真的。 -
我已经更新了 p_employee_email 参数,我收到另一个错误,说 14/204 PL/SQL: ORA-00904: "EMPLOYEE_DEPARTMENT_ID": invalid identifier
-
那么,表中应该没有名为
employee_department_id的列
标签: oracle plsql oracle11g sql-insert