编译Oracle存储过程时出错

时间:2014-09-20 03:30:11

标签: sql oracle

我写了这个存储过程:

CREATE OR REPLACE PROCEDURE ADD_EMPLOYEE 
(
  F_FNAME IN VARCHAR2 
, L_NAME IN VARCHAR2 
, EMAIL IN VARCHAR2 
, jobid IN VARCHAR2 DEFAULT 'SA_REP' 
, MGR IN employees.manager_id%type DEFAULT 145 
, SAL IN employees.salary%type DEFAULT 1000 
, COMM IN EMPLOYEES.COMMISSION_PCT%type DEFAULT 0 
, DEPTID IN VARCHAR2 DEFAULT 30 
, HIRE_DATE IN DATE 
) 
AS 
BEGIN
insert into EMPLOYEES(employee_id,first_name,last_name,email,hire_date,salary,commission_pct,manager_id,department_id)
values
(employees_seq.nextval,f_name,l_name,email,HIRE_DATE,sal,comm,mgr,deptid);

END ADD_EMPLOYEE;

它给出了消息

sql statement ignored.
columns not allowed here.

它出了什么问题?

1 个答案:

答案 0 :(得分:0)

重命名参数电子邮件 hire_date 。 此外,将参数命名为具有附加前缀' p _'的相应列也很方便。在你的情况下:

  • employee_id - > p_employee_id
  • first_name - > p_first_name
  • ...
  • department_id-> p_department_id。

如果您声明了本地变量,则可以使用' v _'前缀。