包头:
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 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;
请问下是哪里错了?看了很久都看不出来,总是编译错误
SQL> SHOW ERROR;
看看
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);
不能使用EMP.ENAME
包头:
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
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;
包头跟包体中的过程的变量名字不统一(v_name/v_ename)!