我正在为一个班级项目建立一个程序,我必须在其中发明一些与我的国家足球联赛相关的程序。现在我正在开发一个程序来显示比赛结果,在介绍联赛和球队之后,包括教练、球员、卡片和进球。问题是,我无法将回合的日期设置为我用 if 创建的变量,因为 if 结构上预期会出现以下错误之一(我只创建了两轮,所以这就是只有两个条件的原因),并且我无法将表中的数据选择到我创建的其他变量中,这些变量用于存储由于每场比赛的唯一性、裁判员姓名和教练员姓名而不需要在光标上的数据,但还有另一个“期待”错误。有什么帮助吗?先感谢您!PS:其余代码仍在开发中,因此可能存在一些不完整的部分。Arbitro 代表裁判,entrenador 代表教练或经理,nombre 代表姓名,partido 代表比赛错误:
create or replace PROCEDURE COMPROBARPARTIDO(JORNADA IN NUMBER, EQUIPO IN VARCHAR2) AS
FECHA DATE;
ELOCAL VARCHAR2(30);
EVISITANTE VARCHAR2(30);
ARBIP VARCHAR2(30);
ASISTENTE VARCHAR2(30);
IF JORNADA = 1 THEN
FECHA:=4-03-2021;
ELSIF JORNADA = 2 THEN
FECHA:=13-03-2021;
ELSE
DBMS_OUTPUT.PUT_LINE('ERROR');
END IF;
SELECT APR.NOMBRE INTO ARBIP, ASS.NOMBRE INTO ASISTENTE, ENL.NOMBRE INTO ELOCAL, ENV.NOMBRE INTO EVISITANTE
FROM PARTIDO_JUGADOR PA
INNER JOIN PARTIDO P
ON PA.ID_PARTIDO = P.ID
INNER JOIN EQUIPO EL
ON P.ID_LOCAL =EL.ID
INNER JOIN EQUIPO EV
ON P.ID_VISITANTE = EV.ID
INNER JOIN ENTRENADOR ENL
ON EL.ID_ENTRENADOR = ENL.ID
INNER JOIN ENTRENADOR ENV
ON EV.ID_ENTRENADOR = ENV.ID
INNER JOIN PARTIDO_ARBITRO PAR
ON P.ID = PAR.ID_PARTIDO
INNER JOIN ARBITRO APR
ON PAR.ID_ARBITROC = APR.ID
INNER JOIN ARBITRO ASS
ON PAR.ID_ARBITROA = ASS.ID
WHERE P.FECHA = FECHA AND (EQUIPO =EV.NOMBRE OR EQUIPO = EL.NOMBRE);
CURSOR C1 IS
SELECT J.NOMBRE, J.APELLIDO, EQ.NOMBRE
FROM PARTIDO P
INNER JOIN PARTIDO_JUGADOR PJ
ON P.ID = PARTIDO_JUGADOR.ID_PARTIDO
INNER JOIN JUGADOR J
ON PJ.ID_JUGADOR = J.ID
INNER JOIN EQUIPO EQ
ON J.ID_EQUIPO = EQ.ID
ORDER BY EQ.ID, J.COD_POSICION ;
BEGIN
NULL;
END COMPROBARPARTIDO;