Está en la página 1de 3

Ejercicio #1

--Crear un procedimiento almacenado que actualice el resultado de un partido. Debe


--recibir los códigos de los equipos que participan en el partido y los goles
anotados y
--recibidos de un equipo.

Create Procedure Actualizacion_Partido(


@COD_PART Varchar(5),
@COD_EQP1 Varchar(5),
@COD_EQP2 Varchar(5),
@GOLES_ANOTADOS Int,
@GOLES_RECIBIDOS Int
)
As Begin
Declare @Codigo_Partido Varchar(5)

Select @Codigo_Partido = COD_PAR FROM PARTXEQP

IF(@Codigo_Partido =@COD_PART )
Begin

Update PARTXEQP SET GOLES_ANOTADOS=@GOLES_ANOTADOS,


GOLES_RECIBIDOS=@GOLES_RECIBIDOS
Where @COD_PART=COD_PAR AND @COD_EQP1 = COD_EQP

Update PARTXEQP SET GOLES_ANOTADOS=@GOLES_RECIBIDOS,


GOLES_RECIBIDOS=@GOLES_ANOTADOS
Where @COD_PART=COD_PAR AND @COD_EQP2 = COD_EQP

End

Else

Begin
Print 'Error en el partido Ingresado.'
End

End

Exec Actualizacion_Partido '2','2','4',8,5


Select * From PARTXEQP

Ejercicio #2

--Un procedimiento almacenado aumente en uno los juegos jugados y juegos


--ganados de un equipo. Además debe aumentar los goles a favor y goles en contra.
--El procedimiento recibe como parámetros el código del equipo, código de
--temporada, goles a favor y goles en contra. Debe validar que los goles a favor
sean
--mayores a los goles en contra, sinó, mostrar un mensaje.

CREATE PROCEDURE Aumento_Juegos(


@CCOD_EQP Varchar(5),
@COD_TEM Varchar(5),
@GOLES_ANOTADOS Int,
@GOLES_RECIBIDOS Int
)

As Begin
If (@GOLES_ANOTADOS<@GOLES_RECIBIDOS)
Begin
Print 'Los goles a favor sean mayores a los goles en contra'
End

Else
Begin
Update TEMPXEQP
Set JUEGOS_GANADOS=JUEGOS_GANADOS + 1
Where @CCOD_EQP=COD_EQP

Update PARTXEQP
Set GOLES_ANOTADOS=@GOLES_ANOTADOS, GOLES_RECIBIDOS=@GOLES_RECIBIDOS
Where @CCOD_EQP=COD_EQP

Select Sum(JUEGOS_EMPATADOS+JUEGOS_GANADOS+JUEGOS_PERDIDOS)+1 AS JUEGOS_JUGADOS


From TEMPXEQP
Where @CCOD_EQP=COD_EQP
End

End

Exec Aumento_Juegos'4','4',8,12

Select * From TEMPXEQP


Select * From PARTXEQP

Ejercicio #3

--Un procedimiento almacenado realice un cambio de un jugador de equipo. Debe


--agregar el jugador el nuevo equipo y actualizar el salario, ya que el jugador
tendrá
--un nuevo salario

Create Procedure Cambio_Jugador(


@COD_JUG Varchar(5),
@COD_EQP Varchar(5),
@SALARIO Money

)
As Begin

Update JUGXEQP
Set COD_JUG=@COD_JUG,COD_EQP=@COD_EQP
Where COD_JUG=@COD_JUG

Update JUGADOR
Set SALARIO=@SALARIO
Where COD_JUG=@COD_JUG

End
Exec Cambio_Jugador '6','4',18000

Select * From JUGADOR


Select * From JUGXEQP

Ejercicio #4

--Un procedimiento almacenado que ingrese un nuevo jugador, pero al mismo tiempo,
--debe ingresar al equipo que pertenecerá y el puesto que ocupará dentro del equipo

Create Procedure Ingreso_Jugador(


@COD_JUG Varchar(5),
@NOMBRE Varchar(50),
@SALARIO Money,
@ESTADO Binary,
@COLONIA Text,
@BLOQUE Text,
@CALLE Text,
@FECHA_NAC datetime,

@COD_EQP Varchar(5),

@COD_PTO Varchar(4)

)
As Begin

Insert Into
JUGADOR(COD_JUG,NOMBRE,SALARIO,ESTADO,COLONIA,BLOQUE,CALLE,FECHA_NAC,EDAD)
Values
(@COD_JUG,@NOMBRE,@SALARIO,@ESTADO,@COLONIA,@BLOQUE,@CALLE,@FECHA_NAC,year(getdate(
))-year((@FECHA_NAC)))
Insert Into JUGXPTO Values(@COD_JUG,@COD_PTO)
Insert Into JUGXEQP Values(@COD_JUG,@COD_EQP)

End

Exec Ingreso_Jugador '6','Maria',7500,1,'Favorable','6','3ra Avenida','12 de Junio


1996','2','2'

Select * From JUGADOR


Select * From PUESTO
Select * From JUGXPTO
Select * From JUGXEQP

También podría gustarte