Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/06/2011, 15:23
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: 17 años
Puntos: 2658
Respuesta: Como hacer un stored Procedure ?

Lo siento, pero tu SP contiene dos errores.
1) Si usas "codigo" como parámetro de entrada, no puedes usar "@codigo" dentro de la consulta, porque esa no es la misma variable. Si te hubieses molestado en leer mi post ya te habrías dado cuenta.
2) Aún si fuese la misma, esa consulta no es restrictiva, porque si usas el mismo nombre para la columna que para el parámetro, el parser descarta la variable (que tiene menor jerarquía), ye interpreta que te refieres al mismo campo (que tiene mayor jerarqía), con lo que en realidad le estás diciendo que te devuelva todos los registros donde el valor de "codigo" sea igual a sí mismo... o sea, todos los registros.
¿Se entiende?

Para que tu Sp funcione debería estar más o menos así:
Código MySQL:
Ver original
  1. DELIMITER$$
  2. CREATE PROCEDURE sp_buscar(IN vcodigo INT)
  3.      SELECT *
  4.      FROM usuarios
  5.      WHERE codigo = vcodigo;
  6. END$$
  7. DELIMITER;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)