Está en la página 1de 14

“UNIVERSIDAD NACIONAL DE SAN AGUSTÍN”

FACULTAD DE INGENIERÍA,PRODUCCIÓN Y SERVICIOS


ESCUELA PROFESIONAL DE CIENCIA DE LA COMPUTACIÓN

CURSO:

”BASE DE DATOS ” LAB C”


DOCENTE:ROLANDO JESUS CARDENAS TALAVERA
ALUMNA:ÁNGELA SHIRLETH SOTO HUERTA

SEGUNDO AÑO
2024-B
3 EJERCICIOS
1. Considere el siguiente Análisis de Requisitos (Laboratorio 14) e implemente una Base de
Datos con por lo menos 8
registros en cada Tabla. Seguidamente implemente los procedimientos almacenados y
funciones indicadas. Ambos
deben de mostrar resultados cuando son ejecutados. (10 puntos)
• Un Florería vende una gran cantidad de flores y desea tener un registro de sus
operaciones
• La información de cada flor es su especie, tamaño, precio, ambiente (luz o sombra),
tiempo de vida, fecha de
germinación y estación (primavera, verano, otoño e invierno)
• Cada cliente posee un código, nombre, apellido paterno, apellido materno, edad, fecha de
nacimiento, y teléfono.
• La florería tiene varios locales en una ciudad donde se pone a disposición diferentes
especies de flores con un
stock para la venta
• Cada local tiene un personal de servicio quienes se encargan de la ventas de las flores.
• Definir una entidad para el personal de servicio con al menos 5 atributos
• En cada venta se debe tener registro del cliente, las flores, la persona que lo atendió y el
local donde fueron
adquiridas
• Definir una entidad con un atributo compuesto y un atributo multivaluado.
-- Cambio de tipo de datos de las claves primarias a INT IDENTITY para hacerlas
autoincrementales

1. USE FLORERIA;
2.
3. -- Crear la tabla de flores
4. CREATE TABLE Flores (
5. flor_id INT IDENTITY(1,1) PRIMARY KEY,
6. especie VARCHAR(50),
7. tamaño VARCHAR(20),
8. precio DECIMAL(8, 2),
9. ambiente VARCHAR(10),
10. tiempo_de_vida INT,
11. fecha_germinacion DATE,
12. estacion VARCHAR(10)
13. );
14.
15. -- Crear la tabla de clientes
16. CREATE TABLE Clientes (
17. cliente_id INT IDENTITY(1,1) PRIMARY KEY,
18. codigo_cliente VARCHAR(10),
19. nombres VARCHAR(50),
20. apellido_paterno VARCHAR(50),
21. apellido_materno VARCHAR(50),
22. edad INT,
23. fecha_nacimiento DATE,
24. telefono VARCHAR(15)
25. );
26.
27. -- Crear la tabla de locales
28. CREATE TABLE Locales (
29. local_id INT IDENTITY(1,1) PRIMARY KEY,
30. nombre_local VARCHAR(50),
31. stock_disponible INT
32. );
33.
34. -- Crear la tabla de personal de servicio
35. CREATE TABLE PersonalServicio (
36. personal_id INT IDENTITY(1,1) PRIMARY KEY,
37. nombre VARCHAR(50),
38. apellido_paterno VARCHAR(50),
39. apellido_materno VARCHAR(50),
40. cargo VARCHAR(30),
41. experiencia INT
42. );
43.
44. -- Crear la tabla de ventas
45. CREATE TABLE Ventas (
46. venta_id INT IDENTITY(1,1) PRIMARY KEY,
47. cliente_id INT,
48. flor_id INT,
49. personal_id INT,
50. local_id INT,
51. fecha_venta DATE,
52. cantidad INT
53. );
54.
55. -- Ajustes de sintaxis para las fechas
56. SET DATEFORMAT DMY;
57.
58. -- Insertar registros en la tabla de flores
59. INSERT INTO Flores (especie, tamaño, precio, ambiente, tiempo_de_vida,
fecha_germinacion, estacion)
60. VALUES
61. ('Rosas', 'Mediana', 12.99, 'Luz', 14, '2021-02-15', 'Primavera'),
62. ('Lirios', 'Grande', 19.99, 'Sombra', 20, '2020-11-10', 'Otoño'),
63. ('Tulipanes', 'Pequeña', 8.99, 'Luz', 10, '2022-03-25', 'Primavera'),
64. ('Orquídeas', 'Mediana', 24.99, 'Sombra', 30, '2021-09-05', 'Otoño'),
65. ('Margaritas', 'Pequeña', 6.99, 'Luz', 12, '2022-06-20', 'Verano'),
66. ('Margaritas', 'Pequeña', 7.99, 'Luz', 10, '2023-02-10', 'Primavera'),
67. ('Orquídeas', 'Grande', 29.99, 'Sombra', 25, '2023-07-15', 'Verano'),
68. ('Girasoles', 'Mediana', 12.99, 'Luz', 15, '2023-04-05', 'Primavera');
69.
70. -- Insertar registros en la tabla de clientes
71. INSERT INTO Clientes (codigo_cliente, nombres, apellido_paterno,
apellido_materno, edad, fecha_nacimiento, telefono)
72. VALUES
73. ('grgr', 'Juan Diego', 'Perez', 'Gomez', 30, '1992-05-15', '555-1234'),
74. ('vfvf', 'Maria Fernanda', 'Gonzalez', 'Lopez', 25, '1997-09-20', '555-5678'),
75. ('vrfv', 'Carlos Ernesto', 'Martinez', 'Rodriguez', 35, '1987-03-10', '555-9876'),
76. ('rfvfrv', 'Elena Maria', 'Fernandez', 'Gutierrez', 28, '1994-12-05', '555-4321'),
77. ('fvrfvrf', 'Luis Alonso', 'Gutierrez', 'Lopez', 40, '1982-08-18', '555-8765'),
78. ('C009', 'Rosa', 'Lopez', 'Gomez', 28, '1993-06-18', '555-7654'),
79. ('C010', 'Carlos', 'Gutierrez', 'Martinez', 38, '1983-12-10', '555-3456'),
80. ('C011', 'Laura', 'Rodriguez', 'Fernandez', 22, '2000-02-28', '555-2345');
81.
82. -- Insertar registros en la tabla de locales
83. INSERT INTO Locales (nombre_local, stock_disponible)
84. VALUES
85. ('Local A', 100),
86. ('Local B', 150),
87. ('Local C', 120),
88. ('Local D', 80),
89. ('Local E', 200),
90. ('Local F', 120),
91. ('Local G', 80),
92. ('Local H', 200);
93.
94. -- Insertar registros en la tabla de personal de servicio
95. INSERT INTO PersonalServicio (nombre, apellido_paterno, apellido_materno, cargo,
experiencia)
96. VALUES
97. ('Ana', 'Lopez', 'Gomez', 'Vendedor', 3),
98. ('Pedro', 'Gutierrez', 'Fernandez', 'Cajero', 2),
99. ('Laura', 'Rodriguez', 'Martinez', 'Vendedor', 5),
100. ('Miguel', 'Gomez', 'Lopez', 'Florista', 4),
101. ('Sofia', 'Martinez', 'Fernandez', 'Cajero', 3),
102. ('Santiago', 'Martinez', 'Lopez', 'Vendedor', 2),
103. ('Ana', 'Fernandez', 'Gomez', 'Florista', 3),
104. ('David', 'Gutierrez', 'Martinez', 'Cajero', 1);
105.
106. -- Insertar registros en la tabla de ventas
107. INSERT INTO Ventas (cliente_id, flor_id, personal_id, l

Procedimientos almacenados y Funciones:


--a) Implementar una función que dado el nombre y apellido, y la fecha de un año, de una
persona del personal de servicio, muestre la cantidad de flores vendidas en esa fecha.
1. CREATE FUNCTION ObtenerCantidadFloresVendidas (
2. @nombre VARCHAR(50),
3. @apellido_paterno VARCHAR(50),
4. @fecha_venta DATE
5. )
6. RETURNS INT
7. AS
8. BEGIN
9. DECLARE @personal_id INT;
10.
11. -- Obtener el personal_id basado en el nombre y apellido
12. SELECT @personal_id = personal_id
13. FROM PersonalServicio
14. WHERE nombre = @nombre AND apellido_paterno = @apellido_paterno;
15.
16. -- Obtener la cantidad de flores vendidas por ese personal en la fecha
especificada
17. DECLARE @cantidad INT;
18. SELECT @cantidad = SUM(cantidad)
19. FROM Ventas
20. WHERE personal_id = @personal_id AND fecha_venta = @fecha_venta;
21.
22. RETURN ISNULL(@cantidad, 0);
23. END;
24.
--b) Implementar una función que reciba como mínimo 2 parámetros de entrada.
1. CREATE FUNCTION EjemploFuncion (
2. @parametro1 INT,
3. @parametro2 VARCHAR(50)
4. )
5. RETURNS INT
6. AS
7. BEGIN
8. DECLARE @resultado INT;
9.
10. -- Lógica de la función usando los parámetros
11.
12. RETURN @resultado;
13. END;

--c) Implementar un procedimiento almacenado que reciba los nombres, apellidos de un


cliente y muestre las flores (especie, tamaño, precio y estación) adquiridas en todos los
locales.
1. -- Crear el procedimiento almacenado en SQL Server
2. CREATE PROCEDURE MostrarFloresPorCliente (
3. @nombres VARCHAR(50),
4. @apellido_paterno VARCHAR(50)
5. )
6. AS
7. BEGIN
8. -- Lógica del procedimiento almacenado para mostrar las flores adquiridas por el
cliente en todos los locales
9.
10. SELECT f.especie, f.tamaño, f.precio, f.estacion
11. FROM Ventas v
12. JOIN Clientes c ON v.cliente_id = c.cliente_id
13. JOIN Flores f ON v.flor_id = f.flor_id
14. WHERE c.nombres = @nombres AND c.apellido_paterno = @apellido_paterno;
15. END;

--d) Implementar un procedimiento almacenado que reciba por lo menos 3 parámetros de


entrada.

1. CREATE PROCEDURE EjemploProcedimiento (


2. @parametro1 INT,
3. @parametro2 VARCHAR(50),
4. @parametro3 DATE
5. )
6. AS
7. BEGIN
8. -- Lógica del procedimiento almacenado con al menos 3 parámetros de entrada
9. END;

--e) Implementar un procedimiento almacenado que utilice una de las funciones anteriores.

1. CREATE PROCEDURE UsarFuncionEnProcedimiento (


2. @nombre_personal VARCHAR(50),
3. @apellido_personal VARCHAR(50),
4. @fecha_venta DATE
5. )
6. AS
7. BEGIN
8. -- Lógica del procedimiento para utilizar la función creada anteriormente
9. DECLARE @cantidadFloresVendidas INT;
10.
11. -- Llamar a la función para obtener la cantidad de flores vendidas por el personal
en la fecha especificada
12. SET @cantidadFloresVendidas =
dbo.ObtenerCantidadFloresVendidas(@nombre_personal, @apellido_personal,
@fecha_venta);
13.
14. -- Realizar cualquier otra operación con @cantidadFloresVendidas según sea
necesario
15. END;

2. Considere el siguiente Análisis de Requisitos (Laboratorio 14) e implemente una Base de


Datos con por lo menos 8 registros
en cada Tabla. Seguidamente implemente los procedimientos almacenados y funciones
indicadas. Ambos deben de mostrar
resultados cuando son ejecutados. (10 puntos)
• Un Hospital desea mantener un registro de sus operaciones
• Cada paciente necesita información como un código único, nombres, apellidos, edad,
genero, fecha de nacimiento,
alergias, enfermedades previas, dirección y teléfono
• Cada doctor del hospital tiene registrado su código, nombre, apellidos, edad, especialidad,
años de experiencia, salario
y turno
• Las enfermeras del hospital ayudan en la atención de los pacientes, una enfermera puede
atender a múltiples pacientes.
• Defina una entidad para las enfermeras con 5 atributos como mínimo.
• Cada enfermedad tiene un registro de los medicamentos necesarios para los tratamientos,
los síntomas y contiene
información de la tasa de mortalidad
• Cada historia clínica tiene información del paciente, enfermedades previas, los doctores
que trataron su enfermedad y
diagnósticos
• Cada paciente tiene un doctor asignado, pero un doctor puede atender a varios pacientes
a la vez, de igual manera
ocurre con las enfermeras que los atienden
• Define un atributo compuesto para la historia clínica
• Definir una entidad relacionada a otra entidad, así como sus atributos derivados o
multivaluados.
1. USE HOSPITAL
2. -- Crear la tabla de pacientes
3. CREATE TABLE Pacientes (
4. paciente_id INT PRIMARY KEY,
5. codigo_unique VARCHAR(10),
6. nombres VARCHAR(50),
7. apellido_paterno VARCHAR(50),
8. apellido_materno VARCHAR(50),
9. edad INT,
a. mes_en_fueron_atendidos DATE,
10. genero VARCHAR(10),
11. fecha_nacimiento DATE,
12. alergias VARCHAR(100),
13. enfermedades_previas VARCHAR(100),
14. direccion VARCHAR(100),
15. telefono VARCHAR(15)
16. );
17.
18. -- Crear la tabla de doctores
19. CREATE TABLE Doctores (
20. doctor_id INT PRIMARY KEY ,
21. codigo VARCHAR(10),
22. nombres VARCHAR(50),
23. apellidos VARCHAR(50),
24. edad INT,
25. especialidad VARCHAR(50),
26. años_experiencia INT,
27. salario DECIMAL(10, 2),
28. turno VARCHAR(20)
29. );
30. -- Continuación: Crear la tabla de enfermeras
31. CREATE TABLE Enfermeras (
32. enfermera_id INT PRIMARY KEY ,
33. codigo VARCHAR(10),
34. nombres VARCHAR(50),
35. apellidos VARCHAR(50),
36. edad INT,
37. especialidad VARCHAR(50)
38. );
39.
40. -- Crear la tabla de enfermedades
41. CREATE TABLE Enfermedades (
42. enfermedad_id INT PRIMARY KEY,
43. nombre VARCHAR(100),
44. medicamentos VARCHAR(200),
45. sintomas VARCHAR(200),
46. tasa_mortalidad DECIMAL(5, 2)
47. );
48.
49. -- Crear la tabla de historias clínicas
50. CREATE TABLE HistoriasClinicas (
51. historia_id INT PRIMARY KEY ,
52. paciente_id INT,
53. enfermedades_previas VARCHAR(200),
54. doctores_tratantes VARCHAR(200),
55. diagnosticos VARCHAR(200),
a. fecha_atencion date
56.
57. );
58. USE HOSPITAL
59. -- Insertar 8 registros en la tabla de pacientes
60. INSERT INTO Pacientes (paciente_id,codigo_unique, nombres,
apellido_paterno,apellido_materno, edad, genero,
fecha_nacimiento, alergias, enfermedades_previas, direccion,
telefono)
61. VALUES
62. (1,'P001', 'Juan', 'Alvarez','dilan', 35, 'Masculino',
'1987-03-15', 'Ninguna', 'Ninguna', 'Calle A #123', '555-1234'),
63. (2,'P002', 'Maria', 'CAcosta','ASTO', 28, 'Femenino',
'1994-06-22', 'Polen', 'Asma', 'Avenida B #456', '555-5678'),
64. (3,'P003', 'Carlos', 'Aguilar','Paredes', 45,
'Masculino', '1977-11-10', 'Penicilina', 'Hipertensión', 'Calle C
#789', '555-9876'),
65. (4,'P004', 'Luisa', 'Alvarez', 'pia',50, 'Femenino',
'1972-08-05', 'Ninguna', 'Diabetes', 'Avenida D #1011', '555-
4321'),
66. (5,'P005', 'Ana', 'Aranda','sotillo', 22, 'Femenino',
'2000-02-18', 'Ninguna', 'Ninguna', 'Calle E #1213', '555-8765'),
67. (6,'P006', 'Pedro', 'DALIO','Acevedo', 40, 'Masculino',
'1982-09-30', 'Ninguna', 'Gastritis', 'Avenida F #1415', '555-
2345'),
68. (7,'P007', 'Laura', 'tAguayo', 'Sotoo',33, 'Femenino',
'1989-07-12', 'Ninguna', 'Ninguna', 'Calle G #1617', '555-6789'),
69. (8,'P008', 'Javier', 'Almanza','rojas', 28, 'Masculino',
'1994-04-01', 'Ninguna', 'Ninguna', 'Avenida H #1819', '555-
5432');
70. -- Insertar 8 registros en la tabla de doctores
71. INSERT INTO Doctores (doctor_id,codigo, nombres, apellidos,
edad, especialidad, años_experiencia, salario, turno)
72. VALUES
73. (1,'D001', 'Dr. Juan', 'Perez', 40, 'Cardiología',5 ,
120000.00, 'Mañana'),
74. (2,'D002', 'Dra. Maria', 'Gomez', 35, 'Pediatría', 10,
130000.00, 'Tarde'),
75. (3,'D003', 'Dr. Carlos', 'Martinez', 55, 'Neurología',
20, 180000.00, 'Noche'),
76. (4,'D004', 'Dra. Luisa', 'Lopez', 42, 'Oncología', 15,
150000.00, 'Mañana'),
77. (5,'D005', 'Dr. Pedro', 'Rodriguez', 38, 'Ortopedia', 5,
140000.00, 'Tarde'),
78. (6,'D006', 'Dra. Ana', 'Fernandez', 48, 'Ginecología',
18, 170000.00, 'Noche'),
79. (7,'D007', 'Dr. Javier', 'Alvarez', 33, 'Cardiología',
8, 120000.00, 'Mañana'),
80. (8,'D008', 'Dra. Laura', 'Acosta', 37, 'Pediatría', 10,
130000.00, 'Tarde');
a. -- Insertar 8 registros en la tabla de enfermeras
81. INSERT INTO Enfermeras (enfermera_id,codigo, nombres,
apellidos, edad, especialidad)
82. VALUES
83. (1,'E001', 'Enf. Maria', 'Gonzalez', 30, 'Cuidados
Intensivos'),
84. (2,'E002', 'Enf. Carlos', 'Lopez', 28, 'Pediatría'),
85. (3,'E003', 'Enf. Ana', 'Gomez', 35, 'Quirófano'),
86. (4,'E004', 'Enf. Luis', 'Martinez', 40, 'Cirugía
General'),
87. (5,'E005', 'Enf. Laura', 'Fernandez', 32,
'Cardiología'),
88. (6,'E006', 'Enf. Pedro', 'Alvarez', 38, 'Oncología'),
89. (7,'E007', 'Enf. Carolina', 'Acosta', 33,
'Ginecología'),
90. (8,'E008', 'Enf. Juan', 'Perez', 31, 'Cuidados
Intensivos');
91. INSERT INTO Enfermedades (enfermedad_id,nombre,
medicamentos, sintomas, tasa_mortalidad)
92. VALUES
93. (1,'Gripe', 'Paracetamol, Vitamina C', 'Fiebre, Tos,
Congestión nasal', 0.02),
94. (2,'Hipertensión', 'Losartán, Amlodipino', 'Dolor de
cabeza, Mareos', 0.05),
95. (3,'Diabetes', 'Insulina, Metformina', 'Polifagia,
Polidipsia', 0.08),
96. (4,'Asma', 'Salbutamol, Fluticasona', 'Disnea,
Sibilancias', 0.03),
97. (5,'Artritis', 'Ibuprofeno, Metotrexato', 'Dolor
articular, Inflamación', 0.07),
98. (6,'Cáncer', 'Quimioterapia, Radioterapia', 'Fatiga,
Pérdida de peso', 0.15),
99. (7,'Apnea del sueño', 'CPAP, BiPAP', 'Ronquidos,
Somnolencia diurna', 0.04),
100. (8,'Ansiedad', 'Alprazolam, Sertralina', 'Nerviosismo,
Palpitaciones', 0.01);
101. INSERT INTO HistoriasClinicas (historia_id,
enfermedades_previas, doctores_tratantes,
diagnosticos,fecha_atencion)
102. VALUES
103. (1, 'Ninguna', 'Dr. Juan Perez, Dra. Maria Gomez',
'Gripe leve','2003-7-7'),
104. (2, 'Asma', 'Dr. Carlos Martinez', 'Control de
asma','2010-8-5'),
105. (3, 'Hipertensión', 'Dra. Luisa Lopez', 'Control de
presión arterial','2022-7-3'),
106. (4, 'Diabetes', 'Dr. Pedro Rodriguez', 'Control de
glucosa','2009-6-5'),
107. (5, 'Ninguna', 'Dra. Ana Fernandez', 'Consulta de
rutina','2008-7-3'),
108. (6, 'Gastritis', 'Dr. Javier Alvarez', 'Tratamiento para
la gastritis','2004-4-3'),
109. (7, 'Ninguna', 'Dr. Pedro Rodriguez, Dra. Laura Acosta',
'Chequeo ginecológico','2005-7-3'),
110. (8, 'Ninguna', 'Dr. Juan Perez', 'Consulta de
rutina','2005-7-2');
HOSPITAL COMPLETO.sql

Abrir co

Procedimientos almacenados y Funciones:


--a) Implementar una función que dado el nombre y apellido de un doctor o enfermera,
muestre la cantidad de pacientes que tiene a cargo.
1.
2. CREATE FUNCTION ObtenerCantidadPacientesPorDoctorOEnfermera (
3. @nombre VARCHAR(50),
4. @apellido VARCHAR(50)
5. )
6. RETURNS INT
7. AS
8. BEGIN
9. DECLARE @persona_id INT;
10.
11. -- Buscar si la persona es un doctor o enfermera y obtener su ID
12. SELECT @persona_id = COALESCE(doctor_id, enfermera_id)
13. FROM Doctores
14. WHERE nombres = @nombre AND apellidos = @apellido
15. UNION
16. SELECT @persona_id = enfermera_id
17. FROM Enfermeras
18. WHERE nombres = @nombre AND apellidos = @apellido;
19.
20. -- Contar la cantidad de pacientes relacionados con esa persona
21. DECLARE @cantidadPacientes INT;
22. SELECT @cantidadPacientes = COUNT(*)
23. FROM HistoriasClinicas
24. WHERE doctores_tratantes LIKE '%' + CAST(@persona_id AS VARCHAR(10)) +
'%';
25.
26. RETURN ISNULL(@cantidadPacientes, 0);
27. END;

--b) Implementar una función que reciba como mínimo 2 parámetros de entrada.

CREATE FUNCTION EjemploFuncion (


1. @parametro1 INT,
2. @parametro2 VARCHAR(50)
3. )
4. RETURNS INT
5. AS
6. BEGIN
7. DECLARE @resultado INT;
8.
9. -- Lógica de la función usando los parámetros
10.
11. RETURN @resultado;
12. END;

--c) Implementar un procedimiento almacenado que por medio de una enfermedad, muestre
todos los pacientes atendidos (nombre, apellidos, teléfonos) junto a su médico que lo
atendió.

1. CREATE PROCEDURE MostrarPacientesPorEnfermedad (


2. @nombre_enfermedad VARCHAR(100)
3. )
4. AS
5. BEGIN
6. -- Lógica del procedimiento almacenado para mostrar pacientes atendidos por una
enfermedad y su médico
7. SELECT p.nombres, p.apellido_paterno, p.apellido_materno, p.telefono,
d.nombres AS nombre_doctor
8. FROM Pacientes p
9. JOIN HistoriasClinicas hc ON p.paciente_id = hc.paciente_id
10. JOIN Doctores d ON CHARINDEX(CAST(d.doctor_id AS VARCHAR(10)),
hc.doctores_tratantes) > 0
11. JOIN Enfermedades e ON CHARINDEX(CAST(e.enfermedad_id AS
VARCHAR(10)), hc.enfermedades_previas) > 0
12. WHERE e.nombre = @nombre_enfermedad;
13. END;

--d) Implementar un procedimiento almacenado que reciba por lo menos 3 parámetros de


entrada.

1. CREATE PROCEDURE EjemploProcedimiento (


2. @parametro1 INT,
3. @parametro2 VARCHAR(50),
4. @parametro3 DATE
5. )
6. AS
7. BEGIN
8. -- Lógica del procedimiento almacenado con al menos 3 parámetros de entrada
9. END;

--e) Implementar un procedimiento almacenado que utilice una de las funciones anteriores.
1. CREATE PROCEDURE UsarFuncionEnProcedimiento (
2. @nombre_persona VARCHAR(50),
3. @apellido_persona VARCHAR(50)
4. )
5. AS
6. BEGIN
7. -- Lógica del procedimiento para utilizar la función creada anteriormente
8. DECLARE @cantidadPacientes INT;
9.
10. -- Llamar a la función para obtener la cantidad de pacientes relacionados con el
doctor o enfermera
11. SET @cantidadPacientes =
dbo.ObtenerCantidadPacientesPorDoctorOEnfermera(@nombre_persona,
@apellido_persona);
12.
13. -- Realizar cualquier otra operación con @cantidadPacientes según sea necesario
14. END;
15.

También podría gustarte