MySQL - Procedimientos almacenados y cursores en MySQL

   
Vista:

Procedimientos almacenados y cursores en MySQL

Publicado por MrHanzo (1 intervención) el 27/11/2014 19:41:21
Buenos días, soy un estudiante de informática y verán me han encomendado la tarea de realizar estos ejercicios sobre procedimientos y cursores para bases de datos pero debido a que este tipo de actividad, "programacion", no se encuentra en mi área de estudio habitual y a que no se nos a dado casi material ni ayuda para estudiar este tema y con la gran variedad de opciones que tiene esta materia eh llegado a un punto en el que no puedo continuar, al parecer estos ejercicios no deberían suponer ningún tipo de problema para un usuario con conocimientos sobre esta materia,
entonces les agradecería mucho si pudieran resolver estos problemas para que yo pueda tomarlos como ejemplo y poder entender mejor el tema de los procedimientos y funciones de mysql
Muchas gracias de antemano a la gente en este sitio web y espero poder contribuir al foro en el futuro
-ATTE Carlos-

PROCEDIMIENTOS ALMACENADOS Y CURSORES EN MYSQL
1. Crea un procedimiento que muestra el año actual.

2. Crea un procedimiento que dada una cadena, devuelva la misma cadena
con las tres primeras letras en mayúsculas.

3. Crea un procedimiento que calcule el total de tantos en un partido tomando
como entrada el resultado el formato de dos números de hasta tres cifras
separados por guión (‘xxx-xxx’)

4. Crea una función que dados dos números devuelva un 1 si son divisibles y
un 0 si no lo son.

5. Usa estructuras condicionales para mostrar el día de la semana a partir de
un número pasado como parámetro, de la forma 1=Lunes, 2=Martes, etc

6. Igualmente usa estructuras condicionales para que, dada una fecha en
formato de mysql (YYYY-MM-DD), dé como salida un texto descriptivo. Por
ejemplo, ‘2010-02-01’ daría como salida “Lunes, 02 de febrero de 2010”.

7. Crea una función de devuelva el mayor de tres números pasados como
parámetro.

8. Crea una función que muestre la suma de los ‘n’ primeros números, donde
‘n’ se pasa como parámetro.

9. Crea una función que dado un número como parámetro, devuelva 1 si es
primo y 0 si no lo es.

10.En la base de datos ‘liga’, crea un procedimiento que rellene los campos
‘pg’ y ‘pp’ de la tabla ‘equipo’ en base a los resultados. Para ello crea antes
un procedimiento que devuelva un ‘1’,’X’ o ‘2’, con un resultado que se pase
como parámetro, según sea victoria, empate o derrota.

11.Crea una tabla llamada “primos” en la base de datos de test, con un único
campo numérico entero. Seguidamente, crea un procedimiento que dado un
parámetro entero “m” rellene la tabla con aquellos números enteros que son
primos entre 1 y “m”. Si la tabla no está vacía, el procedimiento deberá
vaciarla previamente.

12.Crea un procedimiento que genere e inserte “n” movimientos aleatorios en
la tabla de movimientos de la base de datos de “ebanca”, donde “n” es un
parámetro que le pasa. Los datos de los movimientos serán de clientes y
cuentas existentes al azar (o siguiendo algún patrón) y las cantidades
oscilarán entre 1 y 10000.

13.Crea un procedimiento que devuelva el nombre del autor que más libros ha
publicado en el último mes.

14.Crea un procedimiento que devuelva los datos del cliente, de la cuenta, y el
saldo de los clientes con saldo negativo en alguna de sus cuentas.

15.Crea un procedimiento que devuelva el equipo o equipos que mayor racha
de partidos ganados consecutivos en casa ha tenido.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Procedimientos almacenados y cursores en MySQL

Publicado por Hugo QN (30 intervenciones) el 04/12/2014 19:42:14
aqui tienes 2 ejemplos, si estudias programación tambien abarca la BD.

DROP PROCEDURE IF EXISTS sp_muestra_anio; -- elimina si ya existe el SP

CREATE PROCEDURE sp_muestra_anio()
BEGIN
SELECT YEAR(sysdate()) AS anio;
END;

DROP PROCEDURE IF EXISTS sp_la_misma_cadena; -- elimina si ya existe el SP

CREATE PROCEDURE sp_la_misma_cadena(as_parametrocadena VARCHAR(8000))
BEGIN
DECLARE ls_primeraletras CHAR(3);

SET ls_primeraletras = UPPER(LEFT(as_parametrocadena, 3));-- EXTRAE LAS 3 PRIMERAS CARACTERES Y CONVIERTE EN LAYUSCULA
SELECT CONCAT(ls_primeraletras, RIGHT(LOWER(as_parametrocadena), LENGTH(as_parametrocadena) - 3)) AS Cadena;
END;

saludos.
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