就是调用的时候报这个错 求助T T--创建包头--
create or replace package emp_package as
--声明存储过程,用于插入一条记录--
procedure my_proc(
  lend_num varchar2,
  lend_name varchar2,
  lend_sex varchar2,
  major  varchar2
);
end emp_package;--创建包体--
create or replace package body emp_package as--存储过程的实现--
procedure my_proc(
  lend_num varchar2,
  lend_name varchar2,
  ledn_sex varchar2,
  major  varchar2
) is
begin
insert into emp(lnum,lname,lsex,major)
values (lend_num,lend_name,lend_sex,major);
end my_proc;
end emp_package;
--这里是调用
begin
  emp_package.my_proc('11', 'dsa', 'ewq', 'vc');
end;

解决方案 »

  1.   

    编译包和包体,
    然后 看看有什么错误,pl/sql直接高亮源码
    如果是sqlplus  用show error 命令看。
      

  2.   

    你创建完Package,没看看报什么错么?
    Package本身是有错的。
      

  3.   

    建表语句:CREATE TABLE emp
    (
        lnum VARCHAR2(20),
        lname VARCHAR2(20),
        lsex VARCHAR2(20),
        major VARCHAR2(20)
    );
    建立包头:CREATE OR REPLACE PACKAGE emp_package IS  
        PROCEDURE my_proc(
            lend_num VARCHAR2, lend_name VARCHAR2,
            lend_sex VARCHAR2, major VARCHAR2);
    END emp_package;
    建立包体:CREATE OR REPLACE PACKAGE BODY emp_package IS
        PROCEDURE my_proc(
            lend_num VARCHAR2, lend_name VARCHAR2,
            lend_sex VARCHAR2, major VARCHAR2) IS
        BEGIN
            INSERT INTO emp(lnum,lname,lsex,major)
            VALUES (lend_num,lend_name,lend_sex,major);
            COMMIT;
        END my_proc;  
    END emp_package;
    执行包中存储过程:DECLARE 
      
    BEGIN
      emp_package.my_proc('11', 'dsa', 'ewq', 'vc');  
    END;
    结果:没有问题,一切正常。