我正在做一个包装,以收集同一位置的某些功能。但是当我尝试创建主体时,总是会出现错误
我已经尝试了所有我知道的东西,但是不管我尝试多少,它总是会给我同样的错误
这是我的包裹,不会给我带来任何错误。
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
我将感谢所有尝试帮助我的人
答案 0 :(得分:0)
@hotfix是绝对正确的,编译时的错误消息非常清楚。正文中过程的定义必须与标头中定义的过程相同,我注意到editaldeak
与editaldea