Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/03/2013, 13:05
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años, 1 mes
Puntos: 447
Respuesta: Procedimientos almacenados en MySQL

Complementando lo que dice gnzsoloyo, algunas recomendaciones:

1. No utilices nombres de parámetros o variables idénticos a los nombres de tus campos...

Código:
nom_usuario=nom_usuario;
¿Cuál corresponde a tu nombre de campo y cual a tu nombre de parámetro?

2. prueba asignar el valor de a regresar con la palabra INTO en lugar de con SET. checa este ejemplo que viene en la documentación oficial:

Código MySQL:
Ver original
  1. mysql> delimiter //
  2.  
  3. mysql> CREATE PROCEDURE simpleproc (OUT param1 INT)
  4.     -> BEGIN
  5.     ->   SELECT COUNT(*) INTO param1 FROM t;
  6.     -> END
  7.     -> //
  8. Query OK, 0 rows affected (0.00 sec)
  9.  
  10. mysql> delimiter ;
  11.  
  12. mysql> CALL simpleproc(@a);
  13. Query OK, 0 rows affected (0.00 sec)
  14.  
  15. mysql> SELECT @a;
  16. +------+
  17. | @a   |
  18. +------+
  19. | 3    |
  20. +------+
  21. 1 row in set (0.00 sec)

3. Si tu idea es que el nombre de tu tabla también sea variable, puede que sea necesario hacer uso de sentencias preparadas:

http://dev.mysql.com/doc/refman/5.0/es/sqlps.html

Saludos
Leo.