在pl/sql develop中执行的创建存储过程的代码create or replace procedure ins_table_emp
(
 p_emp_id number,
 p_emp_name varchar2,
 p_emp_salary number
)
as
 v_emp_id number:=p_emp_id;
 v_emp_name varchar2(20):=p_emp_name;
 v_emp_salary number:=p_emp_salary;
begin
¡¡insert into emp values (v_emp_id,v_emp_name,v_emp_salary);
end ins_table_emp;

解决方案 »

  1.   

    存储过程可以创建,但是在sql develop中看到存储过程名打了一个红叉
      

  2.   

    个人认为:
    1:p_emp_id number,
       p_emp_name varchar2,
       p_emp_salary number
    参数应该标记是输入参数还是输出参数2:v_emp_id number:=p_emp_id;
       v_emp_name varchar2(20):=p_emp_name;
       v_emp_salary number:=p_emp_salary;
    没见过这种写法3:end ins_table_emp;
    直接写end;
      

  3.   


     参数不标记输入参数和输出参数,系统默认输入参数个人认为
    你的emp表的结构是什么,好像scott用户下有emp 表,但结构不和你一样。