如何解决此程序包主体创建错误?

时间:2019-05-14 06:50:12

标签: oracle plsql package

我正在做一个包装,以收集同一位置的某些功能。但是当我尝试创建主体时,总是会出现错误

我已经尝试了所有我知道的东西,但是不管我尝试多少,它总是会给我同样的错误

这是我的包裹,不会给我带来任何错误。

create or replace PACKAGE talde_paquete AS
procedure editaldeak(Equipo Taldeak.Kod_taldea%TYPE, Nombre Taldeak.izena%TYPE, Localidad Taldeak.Herria%TYPE, Correo taldeak.helbide_elektronikoa%TYPE,Campo Taldeak.Zelaia%TYPE);
procedure equipopartidos(Equipo partidak.talde1%TYPE);
END talde_paquete;

这是我的包裹,这是给我带来始终相同错误的包裹

CREATE OR REPLACE PACKAGE BODY talde_paquete 
IS
procedure editaldea(Equipo Taldeak.Kod_taldea%TYPE, Nombre Taldeak.izena%TYPE, Localidad Taldeak.Herria%TYPE, Correo taldeak.helbide_elektronikoa%TYPE,Campo Taldeak.Zelaia%TYPE)
AS
VTaldea NUMBER(1);
Taldenoexist EXCEPTION;
BEGIN
    SELECT COUNT(Kod_Taldea) INTO VTaldea FROM Taldeak WHERE Kod_Taldea=Equipo;
    IF VTaldea=1 THEN
        UPDATE Taldeak SET Izena=Nombre, Herria=Localidad, Helbide_Elektronikoa=Correo, Zelaia=Campo WHERE Kod_taldea=Equipo;
    ELSE
        RAISE Taldenoexist;
    END IF;
EXCEPTION
    WHEN Taldenoexist THEN
       DBMS_OUTPUT.PUT_LINE('Taldea ez da existitzen');
END editaldea;
procedure equipopartidos(Equipo partidak.talde1%TYPE)
IS
    CURSOR PartidoEquipo IS
        SELECT Talde1, Talde2, P_Data FROM Partidak WHERE Talde1 LIKE Equipo OR Talde2 LIKE Equipo;
    E1 Partidak.Talde1%TYPE;
    E2 Partidak.Talde2%TYPE;
    Fecha Partidak.P_Data%TYPE;
    existe NUMBER(3);
    Taldexist EXCEPTION;
BEGIN
    SELECT COUNT(Talde1) INTO existe FROM partidak WHERE Talde1=Equipo OR Talde2=Equipo;
    IF (existe>0)THEN
    OPEN PartidoEquipo;
    FETCH PartidoEquipo INTO E1,E2,Fecha;
    WHILE PartidoEquipo%FOUND LOOP
        DBMS_OUTPUT.PUT_LINE(E1||' taldeak '||E2||' taldearen aurka jokatuko du '||Fecha);
        FETCH PartidoEquipo INTO E1,E2,Fecha;
    END LOOP;
        CLOSE PartidoEquipo;
    ELSE
    RAISE Taldexist;
    END IF;
EXCEPTION
    WHEN Taldexist THEN
        DBMS_OUTPUT.PUT_LINE('Taldea ez da existitzen');
END equipopartidos;
END talde_paquete;
/

这是我尝试运行主体脚本时遇到的错误。

LINE/COL  ERROR
--------- -------------------------------------------------------------
0/0       PL/SQL: Compilation unit analysis terminated
1/14      PLS-00905: object BIZKAIABASKET.TALDE_PAQUETE is invalid
1/14      PLS-00304: cannot compile body of 'TALDE_PAQUETE' without its specification
Errors: check compiler log

我将感谢所有尝试帮助我的人

1 个答案:

答案 0 :(得分:0)

@hotfix是绝对正确的,编译时的错误消息非常清楚。正文中过程的定义必须与标头中定义的过程相同,我注意到editaldeakeditaldea

的名称有所不同