Está en la página 1de 22

PROGRAMACION

REPASO

Javier García Cambronel


PRIMERO DE ASIR
CREAMOS LAS TABLAS CON INTEGRIDAD REFERENCIAL
[PROGRAMACION REPASO]

INSERTAMOS ALGUNOS DATOS EN LAS TABLAS

EJERCICIOS
1.- Crea una función DevolverNombreEquipo que reciba un código de equipo y devuelva el nombre del
mismo. Si el equipo no existe devuelve la cadena “Error en código”.

2.- Crea una función DevolverGolesEquipo que reciba el código de un equipo y devuelva el total de
goles a favor y total de goles en contra. Contempla las excepciones oportunas.

3. Crea un procedimiento DevolverResultadosEquipo que reciba el código de un equipo y devuelva el


número de partidos que ha ganado, el número de partidos que ha perdido y el número de partidos que
ha empatado. Contempla las excepciones oportunas.

4.- Realiza un procedimiento ActualizarClasificacion que haga lo siguiente:

·Borra todos los registros de la tabla “Clasificación_liga”.

·A partir de la tabla partidos, rellena la tabla “Clasificación_liga”, la información la obtiene sólo de los
partidos de “liga”, para calcular los puntos debes considerar 3 puntos las victorias y 1 punto los
empates.

·Para terminar muestra la clasificación de los equipos, ordenados por puntos, y mostrando el nombre
del equipo, en vez del código, todos los datos anteriores.

Nota: Utiliza las funciones y procedimientos que has realizado en los ejercicios anteriores.

5.- Crear un procedimiento MostrarQuinielaJornada que reciba una jornada y muestre la quiniela de
dicha jornada de la liga según los partidos jugados. El resultado debe ser de la siguiente manera:

Nombre equipo1 – Nombre equipo2(1, X o 2)

El 1 será cuando el equipo1 (Local) haya ganado, la X cuando sea un empate y un 2 cuando el equipo 2
(visitante) haya ganado.

Se deben tratar las siguientes excepciones:

a) Tabla Equipos vacía

b) Tabla Partidos vacía.

c) No hay partidos de esa jornada.


PRIMERO DE ASIR Página 1
Puedes crear los procedimientos o funciones que creas oportunos, o usar algunos de los que ya has
realizado.
[PROGRAMACION REPASO]

Partiendo del esquema que tenemos en el Moodle, que es el que vemos a continuación:

PRIMERO DE ASIR Página 2


[PROGRAMACION REPASO]

CREAMOS LAS TABLAS CON INTEGRIDAD REFERENCIAL


TABLA EQUIPOS
CREATE TABLE Equipos(
CodEquipo VARCHAR(4),
Nombre VARCHAR(30) NOT NULL,
Localidad VARCHAR(15),
CONSTRAINT PK_Equipos PRIMARY KEY (CodEquipo))

TABLA PARTIDOS
CREATE TABLE Partidos(
CodPartido VARCHAR(4),
CodEquipoLocal VARCHAR(4),
CodEquipoVisitante VARCHAR(4),
Fecha DATE,
Jornada VARCHAR(20),
Gol_Local INT,
Gol_Visitante INT,
CONSTRAINT PK_Partidos PRIMARY KEY (CodPartido),
CONSTRAINT FK_Partidos_EquiposL FOREIGN KEY (CodEquipoLocal) REFERENCES
Equipos(CodEquipo),
CONSTRAINT FK_Partidos_EquiposV FOREIGN KEY (CodEquipoVisitante) REFERENCES
Equipos(CodEquipo),
CONSTRAINT CK_Fecha CHECK (MONTH(FECHA) NOT IN (7,8)))

PRIMERO DE ASIR Página 3


[PROGRAMACION REPASO]

INSERTAMOS ALGUNOS DATOS EN LAS TABLAS


INSERTAMOS DATOS EN LA TABLA EQUIPOS
INSERT INTO EQUIPOS
VALUES (1, 'At.Madrid', 'Madrid'),
(2, 'Barcelona', 'Barcelona'),
(3, 'Espanyol', 'Barcelona'),
(4, 'R.Madrid', 'Madrid'),
(5, 'Valencia', 'Valencia'),
(6, 'Sevilla', 'Sevilla')

INSERTAMOS DATOS EN LA TABLA PARTIDOS


INSERT INTO Partidos
VALUES(1,1,2,'07/04/2012',1,4,2),
(2,3,4,'14/04/2012',1,0,4),
(3,5,6,'21/04/2012',1,2,2),
(4,2,3,'28/04/2012',2,3,4),
(5,4,5,'05/05/2012',2,3,2),
(6,6,1,'05/05/2012',2,2,2)

PRIMERO DE ASIR Página 4


[PROGRAMACION REPASO]

1.- Crea una función DevolverNombreEquipo que reciba un código de equipo y devuelva el
nombre del mismo. Si el equipo no existe devuelve la cadena “Error en código”.

Creamos la función con el nombre de equipo y declaramos la variable que se va a recibir que
la llamamos “CODIGO” y el tipo de datos que será entero, le decimos que tipo de datos va a
devolver y el máximo de caracteres admitidos por “RETURN”. Una vez hecho esto
comenzamos con el cuerpo de la función en el que declaramos la variable “NOMBRE”
indicamos que si en la variable “CODIGO” no se encuentra un código que esté al hacer un
“SELECT” de CodEquipo desde la tabla “EQUIPOS” nos muestre un mensaje dando a la
variable “NOMBRE” con “SET”, el valor que tenemos en la cadena que escribimos en este
caso “ERROR EN CODIGO” ya que ese código de equipo escrito no pertenece a ningún equipo
de la base de datos; sin embargo cuando no ocurre esto “ELSE” le damos el valor a la variable
“NOMBRE” del “SELECT” sobre el nombre donde “WHERE” CodEquipo sea igual al que hemos
introducido y que ha recogido la variable “CODIGO”, por ultimo devolvemos el contenido de
la variable “NOMBRE”.

CREATE FUNCTION equipo (@codigo AS INT )


RETURNS VARCHAR(30)
AS
BEGIN
DECLARE @nombre VARCHAR(30)
IF @codigo NOT IN (SELECT CodEquipo FROM Equipos)
SET @nombre = 'ERROR EN CODIGO'
ELSE
BEGIN
SET @nombre = (SELECT Nombre FROM Equipos WHERE CodEquipo = @codigo)
END
RETURN @nombre
END

PRIMERO DE ASIR Página 5


[PROGRAMACION REPASO]

COMPROBAMOS EL FUNCIONAMIENTO
Los equipos que están en el rectángulo rojo, son los que vamos a comprobar.

Hacemos un “SELECT” sobre la función y le pasamos como parámetro código de equipo 1,


vemos que el nombre del equipo que nos da es At.Madrid, lo cuál es correcto.

Hacemos lo mismo, pero ahora con el código de equipo 4 y vemos que el resultado es
R.Madrid, el cuál es correcto.

Ahora lo que hacemos es comprobar con un código de equipo que no se encuentra en la


tabla, como vemos se nos muestra el mensaje de error que le hemos indicado “ERROR EN
CODIGO”

PRIMERO DE ASIR Página 6


[PROGRAMACION REPASO]

2.- Crea una función DevolverGolesEquipo que reciba el código de un equipo y devuelva el
total de goles a favor y total de goles en contra. Contempla las excepciones oportunas.

Creamos la función con el nombre que se nos indica en el ejercicio e indicamos que la
variable que vamos a insertar va a ser de tipo entero “INT” y que va a devolver lo que
contenga la variable goles en forma de tabla, primero los goles a favor y después los goles en
contra. Empezamos con el cuerpo de la función y declaramos las variables, después con SET
indicamos su valor y en la variable “AFAVOR” donde irán los goles a favor indicamos que
cuando juega como local los goles a favor son los locales y en el segundo “SELECT”, que los
goles pertenecientes a los visitantes cuando el equipo juega como visitante también son a
favor, hacemos lo mismo pero teniendo en cuenta todo esto para los goles en contra y lo
guardamos en la variable “ENCONTRA” insertamos en la variable “GOLES” los valores de los
goles a favor y en contra almacenados en las variables y hacemos el “RETURN”.

CREATE FUNCTION DevolverGolesEquipo (@codigo AS INT )


RETURNS @goles TABLE ([Goles a favor] INT,[Goles en contra] INT)
AS
BEGIN
DECLARE @afavor INT
DECLARE @encontra INT
SET @afavor =
((SELECT SUM(Gol_Local) FROM Partidos WHERE CodEquipoLocal = @codigo GROUP BY
CodEquipoLocal)
+ (SELECT SUM(Gol_Visitante) FROM Partidos WHERE CodEquipoVisitante = @codigo GROUP
BY CodEquipoLocal))
SET @encontra =
((SELECT SUM(Gol_Visitante) FROM Partidos WHERE CodEquipoLocal = @codigo GROUP BY
CodEquipoLocal)
+ (SELECT SUM(Gol_Local) FROM Partidos WHERE CodEquipoVisitante = @codigo GROUP BY
CodEquipoLocal))
INSERT INTO @goles VALUES (@afavor,@encontra)
RETURN
END

PRIMERO DE ASIR Página 7


[PROGRAMACION REPASO]

COMPROBACION DE FUNCIONAMIENTO
Hacemos la consulta pertinente para ver el contenido de la tabla “PARTIDOS” Aquí vemos los
goles a favor y en contra de el equipo con código de equipo número 4 en el que los goles a
favor están redondeados en verde.

Ejecutamos la función que acabamos de crear, pasándole como parámetro 4 y vemos que el
resultado es el correcto y que los goles a favor son 7 y en contra 2.

PRIMERO DE ASIR Página 8


[PROGRAMACION REPASO]

PARA SOLO MOSTRAR ESTADÍSTICAS DE GOLES EN PARTIDOS COMO


VISITANTE
CREATE FUNCTION DevolverGolesEquipoind (@codigo INT)
RETURNS TABLE
AS
RETURN (SELECT SUM(GOL_LOCAL) AS [Goles en contra],SUM(GOL_VISITANTE) AS [Goles a
favor]
FROM PARTIDOS
WHERE @codigo=CodEquipoVisitante)

COMPROBACION DE FUNCIONAMIENTO

PRIMERO DE ASIR Página 9


[PROGRAMACION REPASO]

PARA SOLO MOSTRAR ESTADÍSTICAS DE GOLES EN PARTIDOS COMO


LOCAL
Modificaríamos la función anterior indicando que los goles como locales sean mostrados
como “A FAVOR” y los goles de los visitantes como “EN CONTRA” y en la clausula “WHERE”
la variable “CODIGO” donde esta el código del equipo sea comparado solo con
“CodEquipoLocal”

ALTER FUNCTION DevolverGolesEquipoind (@codigo INT)


RETURNS TABLE
AS
RETURN (SELECT SUM(GOL_LOCAL) AS [Goles a favor],SUM(GOL_VISITANTE) AS [Goles en
contra]
FROM PARTIDOS
WHERE @codigo=CodEquipoLocal)

COMPROBACION DE FUNCIONAMIENTO

PRIMERO DE ASIR Página 10


[PROGRAMACION REPASO]

3. Crea un procedimiento DevolverResultadosEquipo que reciba el código de un equipo y


devuelva el número de partidos que ha ganado, el número de partidos que ha perdido y el
número de partidos que ha empatado. Contempla las excepciones oportunas.

Creamos un procedimiento con el nombre que se nos indica, el tipo de datos será entero,
pues va a recibir el código del equipo, declaramos las variables y hacemos un “SELECT” con
contador para cada caso que se de, que cumpla la condición que indicamos, Por ejemplo en
la variable “victorias” indicamos las victorias del equipo que serán cuando juega como local,
que los goles locales sean mayores a los visitantes y cuando juega como visitante cuando el
valor de los goles como visitante sea mayor a los goles del equipo local y así sucesivamente
con cada opción, destacar que todas las opciones en el caso de no dar ningún resultado con
“ISNULL” indicamos al final de la instrucción que el valor sea “0” en vez de “NULL”. Por
último el “SELECT” que mostrará los resultados con el nombre en las columnas que
indicamos y con los valores almacenados en cada variables.

CREATE PROCEDURE DevolverResultadosEquipo (@codigo AS INT)


AS
BEGIN
DECLARE @victorias INT
DECLARE @empates INT
DECLARE @derrotas INT
SET @victorias = ISNULL((SELECT COUNT(*) FROM Partidos WHERE Gol_Local > Gol_Visitante
GROUP BY CodEquipoLocal HAVING CodEquipoLocal = @codigo),0)
SET @victorias = @victorias + ISNULL((SELECT COUNT(*) FROM Partidos WHERE Gol_Local <
Gol_Visitante
GROUP BY CodEquipoVisitante HAVING CodEquipoVisitante = @codigo),0)
SET @empates = ISNULL((SELECT COUNT(*) FROM Partidos WHERE Gol_Local = Gol_Visitante
GROUP BY CodEquipoLocal HAVING CodEquipoLocal = @codigo),0)
SET @empates = @empates + ISNULL((SELECT COUNT(*) FROM Partidos WHERE Gol_Local =
Gol_Visitante
GROUP BY CodEquipoVisitante HAVING CodEquipoVisitante = @codigo),0)
SET @derrotas = ISNULL((SELECT COUNT(*) FROM Partidos WHERE Gol_Local < Gol_Visitante
GROUP BY CodEquipoLocal HAVING CodEquipoLocal = @codigo),0)
SET @derrotas = @derrotas + ISNULL((SELECT COUNT(*) FROM Partidos WHERE Gol_Local >
Gol_Visitante
GROUP BY CodEquipoVisitante HAVING CodEquipoVisitante = @codigo),0)
SELECT @victorias [Victorias],@empates [empates],@derrotas [Derrotas]
END

PRIMERO DE ASIR Página 11


[PROGRAMACION REPASO]

Vamos a comprobar a dos equipos el primero con código de equipo número 4 y el segundo
con código 1, aquí vemos que las victorias las tenemos marcadas en verde y el empate que
hay en azul.

Ejecutamos el procedimiento para el equipo con código 4 y vemos que nos cuenta que tiene
dos victorias, ningún empate y ninguna derrota, lo cual es correcto.

Hacemos los mismo pero ahora comprobando el equipo con código 1 y vemos que como
resultado obtenemos una victoria y un empate, lo cuál también es cierto.

PRIMERO DE ASIR Página 12


[PROGRAMACION REPASO]

4.- Crea la tabla “Clasificación_liga” con la siguiente estructura:

Realiza un procedimiento ActualizarClasificacion que haga lo siguiente:

·Borra todos los registros de la tabla “Clasificación_liga”.

·A partir de la tabla partidos, rellena la tabla “Clasificación_liga”, la información la obtiene


sólo de los partidos de “liga”, para calcular los puntos debes considerar 3 puntos las victorias
y 1 punto los empates.

·Para terminar muestra la clasificación de los equipos, ordenados por puntos, y mostrando el
nombre del equipo, en vez del código, todos los datos anteriores.

Nota: Utiliza las funciones y procedimientos que has realizado en los ejercicios anteriores.

PRIMERO DE ASIR Página 13


[PROGRAMACION REPASO]

CREAMOS LA TABLA CON INTEGRIDAD REFERENCIAL


CREATE TABLE Clasificacion_liga(
CodEquipo varchar(4),
PJ INT,
PG INT,
PE INT,
PP INT,
GF INT,
GC INT,
Puntos INT,
CONSTRAINT PK_Clasificacion PRIMARY KEY (CodEquipo),
CONSTRAINT FK_Clasificacion_Equipo FOREIGN KEY (CodEquipo) REFERENCES
Equipos(CodEquipo))

Este procedimiento esta formado por un conjunto de los anteriores ya explicados,creamos el


procedimiento con el nombre que se nos indica, borramos los datos de la tabla, declaramos
las variables y su tipo incluida la variable “CONTADOR” a la quedaremos el valor de cero
crearemos el bucle “WHILE” para recorrer todos los equipos, el cuerpo del procedimiento
esta formado por código del ejercicio dos y tres, sumando las variables correspondientes de
victorias empates y derrotas obtenemos el total de partidos jugados y hacemos la inserción
en la tabla “CLASIFICACION_LIGA” debidamente multiplicando cada victoria por tres y el
empate por uno sumando los dos resultados para introducirlos en el campo puntos, después
de esto terminamos estas operaciones y creamos el select correspondiente para que al
ejecutar el procedimiento, la tabla de clasificación se nos muestre con los campos que le
indicamos incluido el “NOMBRE_EQUIPO” para lo cual tendremos que hacer los
agrupamientos “GROUP BY” correspondientes y por último ejecutamos la instrucción
“ORDER BY Clasificacion_liga.Puntos DESC” para que aparezcan ordenados por puntuación
de mayor a menor.

CREATE PROCEDURE ClasificacionLiga


AS
BEGIN

PRIMERO DE ASIR Página 14


[PROGRAMACION REPASO]

TRUNCATE TABLE Clasificacion_liga


DECLARE @jugados INT
DECLARE @victorias INT
DECLARE @empates INT
DECLARE @derrotas INT
DECLARE @afavor INT
DECLARE @encontra INT
DECLARE @contador INT
SET @contador=0
WHILE @contador < (SELECT COUNT(*) FROM Equipos)
BEGIN
SET @victorias=(SELECT COUNT(*) FROM Partidos WHERE CodEquipoLocal=(@contador+1)
AND Gol_Local>Gol_Visitante)+(SELECT COUNT(*) FROM Partidos WHERE
CodEquipoVisitante=(@contador+1) AND Gol_Local<Gol_Visitante)
SET @empates=(SELECT COUNT(*) FROM Partidos WHERE CodEquipoLocal=(@contador+1)
AND Gol_Local=Gol_Visitante)+(SELECT COUNT(*) FROM Partidos WHERE
CodEquipoVisitante=(@contador+1) AND Gol_Local=Gol_Visitante)
SET @derrotas=(SELECT COUNT(*) FROM Partidos WHERE CodEquipoLocal=(@contador+1)
AND Gol_Local<Gol_Visitante)+(SELECT COUNT(*) FROM Partidos WHERE
CodEquipoVisitante=(@contador+1) AND Gol_Local>Gol_Visitante)
SET @afavor=(SELECT SUM(Gol_Local) FROM Partidos WHERE
CodEquipoLocal=(@contador+1))+(SELECT SUM(Gol_Visitante) FROM Partidos WHERE
CodEquipoVisitante=(@contador+1))
SET @encontra=(SELECT SUM(Gol_Local) FROM Partidos WHERE
CodEquipoVisitante=(@contador+1))+(SELECT SUM(Gol_Visitante) FROM Partidos WHERE
CodEquipoLocal=(@contador+1))
SET @jugados=@victorias+@empates+@derrotas
INSERT INTO Clasificacion_Liga VALUES
(@contador+1,@jugados,@victorias,@empates,@derrotas,@afavor,@encontra,@victorias*
3+@empates)
SET @contador=@contador + 1
END
END
BEGIN
SELECT
Equipos.Nombre,Clasificacion_liga.PJ,Clasificacion_liga.PG,Clasificacion_liga.PE,Clasificacion
_liga.PP,Clasificacion_liga.GF,Clasificacion_liga.GC,Clasificacion_liga.Puntos
FROM Equipos JOIN Clasificacion_liga ON Equipos.CodEquipo=Clasificacion_liga.CodEquipo
GROUP BY
Equipos.Nombre,Clasificacion_liga.PJ,Clasificacion_liga.PG,Clasificacion_liga.PE,Clasificacion
_liga.PP,Clasificacion_liga.GF,Clasificacion_liga.GC,Clasificacion_liga.Puntos
ORDER BY Clasificacion_liga.Puntos DESC
END

PRIMERO DE ASIR Página 15


[PROGRAMACION REPASO]

COMPROBACION DE FUNCIONAMIENTO
Vemos que al ejecutar el procedimiento obtenemos de forma automática la clasificación con
todos los valores que se nos han indicado en el ejercicio y ordenados por la cantidad de
puntos.

Si consultamos la tabla “CLASIFICACION_LIGA” vemos como obtenemos los mismos datos,


pero con código de equipo y sin ordenar por puntuación.

PRIMERO DE ASIR Página 16


[PROGRAMACION REPASO]

5.- Crear un procedimiento MostrarQuinielaJornada que reciba una jornada y muestre la


quiniela de dicha jornada de la liga según los partidos jugados. El resultado debe ser de la
siguiente manera:

Nombre equipo1 – Nombre equipo2(1, X o 2)

El 1 será cuando el equipo1 (Local) haya ganado, la X cuando sea un empate y un 2 cuando el
equipo 2 (visitante) haya ganado.

Se deben tratar las siguientes excepciones:

a) Tabla Equipos vacía

b) Tabla Partidos vacía.

c) No hay partidos de esa jornada.

Puedes crear los procedimientos o funciones que creas oportunos, o usar algunos de los que
ya has realizado.

Creamos el procedimiento con el nombre que nos indica el ejercicio la variable que
declaramos tiene el nombre de “JORNADA” y el tipo de datos que le indicamos que va a
recibir es de tipo enteros “INT” empezamos con el cuerpo del procedimiento y declaramos
las variables en las que indicamos las “EXCEPCIONES” que nos indica el ejercicio la primera
excepción que tratamos es que si la jornada que el número que hemos introducido no se
encuentra en el campo “JORNADA” de la tabla “PARTIDOS” daremos el valor a la variable
“ERROR” de la cadena de texto con el mensaje de que “no se ha disputado dicha jornada”. La
segunda excepción que tratamos es que cuando la Tabla “PARTIDOS” este vacía así se nos
indique para ello seleccionamos el contador de todas las filas y cuando el resultado es cero le
damos el valor a la variable “ERROR2” de la cadena que contiene “que la tabla Partidos se
encuentra vacía”. En la Excepción número tres hacemos lo mismo que en la dos pero con la
tabla “EQUIPOS” y lo guardamos en la variable “ERROR3”; si no se cumple ninguna de estas
opciones “ELSE” hacemos una selección utilizando la función “EQUIPO” que nos daba el
nombre del equipo a partir del código de equipo pasando como parámetros los equipos
locales y visitantes después hacemos con la función “CASE” tres casos diferentes sobre dicho
“SELECT” cuando los goles locales son más que los goles de visitantes el valor será 1 cuando
tienen el mismo valor será X y cuando son mayores los goles visitantes, el valor será 2, Lo
finalizamos con “END” seguido del nombre que llevara la columna en este caso
“RESULTADO” desde la tabla “PARTIDOS” donde compararemos y sacaremos los datos de la
jornada que hemos indicado a la variable “JORNADA” Para finalizar con “SELECT” mostramos
si hemos tenido algún error.

CREATE PROCEDURE MostrarQuinielaJornada (@jornada AS INT)


AS
BEGIN
DECLARE @error VARCHAR(300)
DECLARE @error2 VARCHAR(300)
DECLARE @error3 VARCHAR(300)

PRIMERO DE ASIR Página 17


[PROGRAMACION REPASO]

IF @Jornada NOT IN (SELECT Jornada FROM Partidos)


SET @error = 'No se ha disputado dicha jornada'
IF (SELECT COUNT(*) FROM Partidos) = 0
SET @error2 = 'La Tabla Partidos se encuentra vacía'
IF (SELECT COUNT(*) FROM Equipos) = 0
SET @error3 = 'La tabla Equipos se encuentra vacía'
ELSE
SELECT dbo.equipo(CodEquipoLocal) [Equipo local],
dbo.equipo(CodEquipoVisitante) [Equipo visitante],
CASE WHEN Gol_Local > Gol_Visitante THEN '1'
WHEN Gol_Local < Gol_Visitante THEN '2'
WHEN Gol_Local = Gol_Visitante THEN 'X'
END Resultado
FROM Partidos
WHERE Jornada = @jornada
SELECT @error,@error2,@error3
END

PRIMERO DE ASIR Página 18


[PROGRAMACION REPASO]

COMPROBACION DE FUNCIONAMIENTO
Hacemos la consulta pertinente en la tabla partidos para ver todos los resultados y a que
jornada pertenecen y ver si los resultados que obtenemos al ejecutar el procedimiento son
ciertos.

Ejecutamos el procedimiento con la Jornada número uno y obtenemos el siguiente


resultado, que como vemos es correcto.

Hacemos lo mismo, pero con la consulta número dos y vemos que el resultado que
obtenemos, también es correcto.

PRIMERO DE ASIR Página 19


[PROGRAMACION REPASO]

COMPROBACION DEL FUNCIONAMIENTO DE LAS EXCEPCIONES


EXCEPCION 1

Si pasamos como parámetro la jornada número 3, la cual, no se ha disputado, vemos como


se nos indica, diciendo que no se ha disputado dicha jornada.

EXCEPCION 2

Después de borrar la tabla partidos, comprobamos que está vacía y así es.

Volvemos a ejecutar el procedimiento y vemos que los errores que se nos muestran son que
la tabla partidos está vacía y que no se ha disputado dicha jornada, ya que la tabla partidos
esta vacía y no hay ninguna jornada disputada.

PRIMERO DE ASIR Página 20


[PROGRAMACION REPASO]

EXCEPCION 3

Borramos la tabla Equipos y comprobamos que esta borrada perfectamente haciendo la


consulta pertinente

Volvemos a ejecutar el procedimiento y vemos que los tres errores se nos muestras.

PRIMERO DE ASIR Página 21

También podría gustarte