包头:
create or replace package testpackage as
procedure selectemp(
v_name emp.ename%type,
v_sal emp.sal%type);
end testpackage;  (编译成功)包体:
create or replace package body testpackage as
procedure selectemp(
v_ename emp.ename%type,
v_sal emp.sal%type) is
begin
insert into c(A)
values (v_ename);
end selectemp;
end testpackage;
请问下是哪里错了?看了很久都看不出来,总是编译错误

解决方案 »

  1.   

    错误是什么?
    SQL> SHOW ERROR;
    看看
      

  2.   

    PLS-00323:子程序或游标'SELECTEMP'已在程序包说明中声明,必须在程序包体中对其进行定义
      

  3.   

    存储过程写错了
    procedure selectemp(v_name emp.ename%type,v_sal emp.sal%type);改
    procedure selectemp(v_name in emp.ename%type,v_sal in emp.sal%type);
      

  4.   

    procedure selectemp(v_name in varchar,v_sal in number);
    不能使用EMP.ENAME
      

  5.   


    包头:
    create or replace package testpackage as
    procedure selectemp(
    v_name emp.ename%type,
    v_sal emp.sal%type);
    end testpackage; (编译成功)包体:
    create or replace package body testpackage as
    procedure selectemp(
    v_ename emp.ename%type,
    v_sal emp.sal%type) is
    begin
    insert into c(A)
    values (v_ename);
    end selectemp;
    end testpackage;
    参数名称不匹配!v_name VS v_ename
      

  6.   

    试过,可以使用emp.ename%type的这种形式的数据类型引用
      

  7.   

    包头中定义变量为v_name,而包体中又是v_ename 
      

  8.   

     包头跟包体中的过程的变量名字不统一包头:
    create or replace package testpackage as
    procedure selectemp(
    v_name emp.ename%type,
    v_sal emp.sal%type);
    end testpackage; (编译成功)包体:
    create or replace package body testpackage as
    procedure selectemp(
    v_ename emp.ename%type,
    v_sal emp.sal%type) is
    begin
    insert into c(A)
    values (v_ename);
    end selectemp;
    end testpackage;--包体改成这样create or replace package body testpackage as
    procedure selectemp(
    v_name emp.ename%type,
    v_sal emp.sal%type) is
    begin
    insert into c(A)
    values (v_name);
    end selectemp;
    end testpackage;
      

  9.   


      包头跟包体中的过程的变量名字不统一(v_name/v_ename)!
      

  10.   

     包头跟包体中的过程的变量名字不统一(v_name/v_ename)!同意同意,,,我就是饭了这种错误!!!!