Bases de Datos - Funciones y procedimientos

 
Vista:
sin imagen de perfil
Val: 9
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Funciones y procedimientos

Publicado por Pedro (4 intervenciones) el 03/05/2019 17:40:46
Hola buenas, soy medio nuevo en las bases de datos con mysql. Alguien podría echarme una mano con estos ejercicios??
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Sacar el mes y año y cuenta con mejor saldo.

2. Haz lo necesario para poder saber el mes con más movimiento de dinero en la base ebanca.

3. Haz lo necesario para poder saber el mes y año con más movimiento de dinero en la base ebanca.

4. Haz lo necesario en la base de datos liga para registrar en la tabla equipo_mes los puntos metidos por cada equipo cada mes en casa.

5. Haz lo necesario en la base de datos liga para registrar en la tabla equipo_mes los puntos metidos por cada equipo cada mes como visitante.

6. Haz lo necesario en la base de datos liga para registrar en la tabla equipo_mes los puntos metidos por cada equipo cada mes y año en casa.

7. Haz lo necesario en la base de datos liga para registrar en la tabla equipo_mes los puntos metidos por cada equipo cada mes y año en campo contrario.

8. Haz lo necesario en la base de datos liga para registrar en la tabla equipo_semana los puntos metidos por cada equipo cada semana impar.

9. Haz lo necesario en la base de datos liga para registrar en la tabla equipo_mes los puntos metidos por cada equipo cada semana par y año.

10. Con la base de datos liga, crea un procedimiento que muestre el número máximo de partidos seguidos ganados por un equipo en casa.

11. Con la base de datos liga, crea un procedimiento que muestre el número máximo de partidos seguidos ganados por un equipo fuera de casa.

12. Con la base de datos liga, crea un procedimiento que muestre el número máximo de partidos seguidos perdidos por un equipo en casa.

13. Con la base de datos liga, crea un procedimiento que muestre el número máximo de partidos seguidos perdidos por un equipo fuera de casa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
Responder
Imágen de perfil de joel
Val: 122
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Funciones y procedimientos

Publicado por joel (46 intervenciones) el 03/05/2019 20:02:12
Sin tener la estructura de las tablas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Funciones y procedimientos

Publicado por Pedro Castro (4 intervenciones) el 03/05/2019 23:44:45
BASE DE DATOS - EBANCA

Tabla Cuenta:
fecha_creacion saldo cod_cuenta cod_cliente
--------------------------------------------------------------------------

Tabla Movimiento:
dni fechahra cantidad id_movimiento cod_cuenta
--------------------------------------------------------------------------

Tabla Clientes:
cod_cliente dni nombre apellido1 apellido2 direccion region
-------------------------------------------------------------------------

Tabla Num_Rojos:
id fecha c_cliente c_cuenta saldo
-------------------------------------------------------------------------


Aquí están las tablas necesarias para los ejercicios de "ebanca". Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 52
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Funciones y procedimientos

Publicado por Isaias (26 intervenciones) el 03/05/2019 22:14:25
Debes saber y si no, pues yo lo sabras, que en los FOROS no se resuelven tareas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Funciones y procedimientos

Publicado por Pedro Castro (4 intervenciones) el 03/05/2019 23:34:48
Debo saber sí, pero el profesor no es que explique muy bien.. Solamente quiero entender cómo hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 52
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Funciones y procedimientos

Publicado por Isaias (26 intervenciones) el 04/05/2019 00:07:39
Lo que debes hacer es INTENTAR hacerlo y si tienes dudas puntuales, pues vienes y preguntas, pero no se vale que nos traigas la lista de tus ejercicios para que NOSOTROS te los resolvamos, ¿cuanto me vas a dar de tu calificación?, amigo, asi no funcionan las cosas en este mundo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 9
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Funciones y procedimientos

Publicado por Pedro (4 intervenciones) el 07/05/2019 16:50:34
Hola de nuevo.
Te muestro estos ejercicios:
8. Haz lo necesario en la base de datos liga para registrar en la tabla equipo_semana los puntos metidos por cada equipo cada semana impar.
9. Haz lo necesario en la base de datos liga para registrar en la tabla equipo_mes los puntos metidos por cada equipo cada semana par y año.

Te comento. He conseguido sacar el primero de ellos y supongo que el segundo es prácticamente igual. Te muestro lo que tengo vale?

Esta es la tabla de los partidos:
Tabla

Este es el código que he hecho:
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
DROP TABLE IF EXISTS puntos_semana_par;
CREATE TABLE puntos_semana_par (semana int, equipo varchar(8), puntos int, anio int, primary key(semana, equipo, anio));
 
DELIMITER //
DROP FUNCTION IF EXISTS puntos_semana_par;
CREATE FUNCTION puntos_semana_par(equipo varchar(8), semana int) returns int
BEGIN
DECLARE resultado_local int; DECLARE resultado_visit int; DECLARE total int;
SELECT IFNULL(sum(substring_index(resultado, "-", 1)), 0) from partido where local=equipo and week(fecha) = semana into resultado_local;
SELECT IFNULL(sum(substring_index(resultado, "-", -1)), 0) from partido where visitante=equipo and week(fecha) = semana into resultado_visit;
SET total=resultado_local+resultado_visit;
RETURN total;
END;//
DELIMITER ;
SELECT puntos_semana_par(“Leganés”,“8”);
 
DELIMITER //
DROP PROCEDURE IF EXISTS semana_par_puntos;
CREATE  PROCEDURE semana_par_puntos()
BEGIN
DECLARE fin boolean default false; DECLARE miequipo varchar(8);
DECLARE cursor1 CURSOR FOR SELECT local from partido UNION SELECT visitante from partido;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET fin=true;
OPEN cursor1;
WHILE not fin do
FETCH cursor1 INTO miequipo;
if(fin=false) then
       BLOCK2: BEGIN
DECLARE fin2 boolean default false;
       DECLARE misem varchar(8);
DECLARE cursor2 CURSOR FOR SELECT distinct week(fecha) from partido where (local=miequipo or visitante=miequipo) and mod(week(fecha),2)=0;
       DECLARE CONTINUE HANDLER FOR NOT FOUND SET fin2=true;
       OPEN cursor2;
     	WHILE not fin2 do
       FETCH cursor2 into misem;
      	if(fin2=false) then
BLOCK3: BEGIN
DECLARE fin3 boolean default false;
       DECLARE mianio varchar(8);
DECLARE cursor3 CURSOR FOR SELECT distinct year(fecha) from partido where (local=miequipo or visitante=miequipo);
       DECLARE CONTINUE HANDLER FOR NOT FOUND SET fin3=true;
       OPEN cursor3;
     	WHILE not fin3 do
       FETCH cursor3 into mianio;
      	if(fin3=false) then
REPLACE INTO puntos_semana_par SELECT misem as semana, miequipo as equipo, mianio as anio, puntos_semana_par(miequipo, misem, mianio) as puntos;
END if;
       END WHILE;
       CLOSE cursor3;
END BLOCK3;
END if;
       END WHILE;
       CLOSE cursor2;
END BLOCK2;
      	END if;
END WHILE;
CLOSE cursor1;
SELECT * from puntos_semana_par order by semana;
END//
DELIMITER ;

Hasta ahí todo OK, pero a la hora de llamar el procedimiento me aparece esto:
resultado

Podrías ayudarme con esto??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Isaias
Val: 52
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Funciones y procedimientos

Publicado por Isaias (26 intervenciones) el 14/05/2019 16:36:26
Si pides ayuda con el mensaje de error, es muy claro, estas llamando a la función liga.puntos_semana_par y no le estas pasando los argumentos que necesita
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar