Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/11/2012, 10:06
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: 3 campos de tipo int pasarlos a un solo campo tipo date

Y... Sí. tienes al menos dos errores:
1) No se puede usar SET variable = consulta. Debes usar SELLECT .. INTO variable, o bien colocar la consulta entre paréntesis.
2) La sentencia no está bien terminada. Le falta el terminador ";".
Primer caso:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. DROP PROCEDURE IF EXISTS aumenta_dias_feri $$
  3. CREATE PROCEDURE aumenta_dias_feri ()
  4.     DECLARE fecIngreso DATE;
  5.     SET fecIngreso = (SELECT DATE(CONCAT(ano, '-', mes, '-', dia)) FECHA_INGRESO FROM PERIODO_INGRESO);
  6. DELIMITER ;
Segundo caso:
Código MySQL:
Ver original
  1. DELIMITER $$
  2. DROP PROCEDURE IF EXISTS aumenta_dias_feri $$
  3. CREATE PROCEDURE aumenta_dias_feri ()
  4.     DECLARE fecIngreso DATE;
  5.     SELECT DATE(CONCAT(ano, '-', mes, '-', dia)) into fecIngreso
  6.     FROM PERIODO_INGRESO);
  7. DELIMITER ;

Otro error es que ninguna de las dos opciones te permite recuperar el valor por cuanto la variable es local y el SP no tiene ningún parámetro OUT o INOUT en su declaración.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)