-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAvance Practica 13.sql
More file actions
99 lines (77 loc) · 3.17 KB
/
Avance Practica 13.sql
File metadata and controls
99 lines (77 loc) · 3.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
--1. Crea un procedimiento almacenado con el cual podremos Insertar usuarios atreves de los parámetros--
CREATE PROCEDURE sp_InsertarUsuario
@Nombre nvarchar(100),
@Email nvarchar(100),
@Pass nvarchar(100),
@FechaRegistro date
AS
BEGIN
INSERT INTO Usuarios (Nombre, Email, Pass, FechaRegistro) VALUES
(@Nombre, @Email, @Pass, @FechaRegistro);
END
EXEC sp_InsertarUsuario @Nombre = 'Lucía Martínez', @Email = 'lucia.martinez@example.com', @Pass = '12345q', @FechaRegistro = '2023-11-15';
EXEC sp_InsertarUsuario @Nombre = 'Diego Gómez', @Email = 'diego.gomez@example.com', @Pass = 'qwerrtd', @FechaRegistro = '2023-11-20'
EXEC sp_InsertarUsuario @Nombre = 'Sofía Hernández', @Email = 'sofia.hernandez@example.com', @Pass = '123werg', @FechaRegistro = '2023-11-25'
SELECT * FROM Usuarios
--2. Crea un procedimiento almacenado para Editar una Suscripción.--
CREATE PROCEDURE sp_EditarSuscripcion
@SuscripcionID int,
@FechaInicio date,
@FechaFin date,
@Tipo nvarchar(50)
AS
BEGIN
UPDATE Suscripciones
SET
FechaInicio = @FechaInicio,
FechaFin = @FechaFin,
Tipo = @Tipo
WHERE
SuscripcionID = @SuscripcionID;
END
EXEC sp_EditarSuscripcion @SuscripcionID = 1, @FechaInicio = '2023-02-10', @FechaFin = '2024-03-10', @Tipo = 'Basica'
EXEC sp_EditarSuscripcion @SuscripcionID = 2, @FechaInicio = '2024-05-23', @FechaFin = '2024-06-23', @Tipo = 'Suspendida'
EXEC sp_EditarSuscripcion @SuscripcionID = 3, @FechaInicio = '2024-01-02', @FechaFin = '2025-06-02', @Tipo = 'Premium'
SELECT * FROM Suscripciones
--3. Crea un procedimiento para Eliminar un registro en la tabla de Historial Visualización.--
CREATE PROCEDURE sp_EliminarRegistroHistorial
@HistorialID int
AS
BEGIN
DELETE FROM HistorialVisualizacion
WHERE HistorialID = @HistorialID
END
EXEC sp_EliminarRegistroHistorial @HistorialID = 67
EXEC sp_EliminarRegistroHistorial @HistorialID = 68
EXEC sp_EliminarRegistroHistorial @HistorialID = 69
SELECT * FROM HistorialVisualizacion
--4. Crea un procedimiento para consultar los usuarios con su suscripción, que use como parámetro el tipo de suscripción.
CREATE PROCEDURE sp_ConsultaTipoSuscripcion
@Tipo nvarchar(50)
AS
BEGIN
SELECT u.UsuarioID, u.Nombre, u.Email, u.FechaRegistro, s.Tipo
FROM Usuarios u
JOIN Suscripciones s ON u.UsuarioID = s.UsuarioID
WHERE Tipo = @Tipo
END
EXEC sp_ConsultaTipoSuscripcion @Tipo = 'Basica'
EXEC sp_ConsultaTipoSuscripcion @Tipo = 'Premium'
EXEC sp_ConsultaTipoSuscripcion @Tipo = 'Suspendida'
SELECT * FROM Suscripciones
SELECT * FROM Usuarios
--5. Crea un procedimiento para consultar que películas fueron reproducidas por el usuario pasando como parámetro el género de la película.
CREATE PROCEDURE sp_ConsultaPeliculaUGenero
@Genero nvarchar(50)
AS
BEGIN
SELECT u.UsuarioID, u.Nombre, u.Email, p.PeliculaID, p.Titulo, p.Genero, p.FechaEstreno, h.FechaVisualizacion
FROM HistorialVisualizacion h
JOIN Usuarios u ON h.UsuarioID = u.UsuarioID
JOIN Peliculas p ON h.PeliculaID = p.PeliculaID
WHERE Genero = @Genero
END
EXEC sp_ConsultaPeliculaUGenero @Genero = 'Aventura'
EXEC sp_ConsultaPeliculaUGenero @Genero = 'Drama'
EXEC sp_ConsultaPeliculaUGenero @Genero = 'Ciencia Ficción'
SELECT * FROM Peliculas