Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/02/2014, 12:51
Avatar de HackID1
HackID1
 
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: Procedimiento con fecha y opción a elegir.

Muchísimas gracias... jm la verdad es que apenas empezamos hace nada con los procedimientos y no hemos ni dado una forma mas avanzada (usando las funciones para fecha).

La verdad solo hemos echo IFs, CASE y algún WHILE.

Me mirare estas funciones, por lo que veo hay una especifica para el dia mes y año, muchas gracias por la respuesta, la practicaré un saludo.

Y una pregunta el YEAR(d.Fecha) = YEAR(fecha1) veo que lo pones en varios sitios, esto es como hacer un JOIN o para que sirve , y creo que en la línea 10 hay un fallo con el = fecha1, lo probaré el código e intentare entenderlo un poco más.

Y muchas gracias por tu ayuda.! .

EDITO: YO ejecuto esto en el PHPMYADMIN pero me da fallo de sintaxis.
El error que me tira es:
Cita:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'YEAR( = fecha1) AND WEEKOFYEAR(d.Fecha) WEEKOFYEAR(= fecha1); WHEN 'C' THE' at line 12
Mi código es este.

Código MySQL:
Ver original
  1. delimiter $
  2.  
  3. CREATE PROCEDURE proc11 (IN fecha1 DATE , IN letra VARCHAR(1))
  4.     case letra
  5.         WHEN 'A'THEN
  6.             SELECT d.Evento
  7.             FROM Diario d
  8.             WHERE d.Fecha = fecha1 ;
  9.         when 'B' THEN
  10.             SELECT d.Evento
  11.             FROM Diario d
  12.             WHERE
  13.                 YEAR(d.Fecha) YEAR( = fecha1)
  14.                 AND WEEKOFYEAR(d.Fecha) WEEKOFYEAR(= fecha1);
  15.         WHEN 'C' THEN
  16.             SELECT d.Evento
  17.             FROM Diario d
  18.             WHERE
  19.                 YEAR(d.Fecha) = YEAR(fecha1)
  20.                 AND MONTH(d.Fecha) =MONTH( fecha1);
  21.         ELSE
  22.             SELECT 'Sin evento' Evento ;
  23.     END CASE ;
  24. end $

La comilla del final creo que va ahí. El error no lo veo... apenas empezando con esta sintaxis :( .

La comilla es esta:

SELECT 'Sin evento' Evento ;
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1

Última edición por HackID1; 12/02/2014 a las 13:07