Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/03/2010, 16:58
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: Crear Store Procedure - MySQL

Algunas cosas:
1) No se pueden anidar los bloques BEGIN/END.
2) Sólo tiene sentido usarlos para operaciones atómicas. No estás escribiendo en Pascal...
3) Estás metiendo un IF anidado innecesariamene. Si necesitas las dos condiciones, ponle AND.
4) Los scripts de SP de varias líneas requieren ser escritos con modificación de delimitador de sentencia para que se carguen completos.
Código MySQL:
Ver original
  1. DELIMITER $$
  2. CREATE PROCEDURE `SP_USUARIOS_ONLINE` ()
  3.   DECLARE hora_actual TIME;
  4.   DECLARE onlin INTEGER(1);
  5.  
  6.   SELECT CURRENT_TIME INTO hora_actual;
  7.  
  8.   SELECT online INTO onlin FROM t_usuarios;
  9.  
  10.   IF (onlin = 1) AND (hora_actual > '03:00:00') THEN
  11.     UPDATE t_usuarios SET online = 0;
  12.   END IF;
  13. END$$
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)