Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/01/2015, 18:39
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: Error en Procedimiento Almacenado

Tienes varios errores en el segundo SP:
1) Es un solo INTO seguido de todas las variables. Eso lo puedes ver en el manual de referencia (recomiendo que lo leas, está en la web oficial).
2) Todos los parámetros que pones son de entrada y ninguno de salida, por lo que ese SP no te devolverá datos en ellos.
Esto también se explica claramente en el manual de referencia...

Además:
3) La consulta que pusiste puede devolver más de un registro, pero por parámetro sólo puede devolver valores simples. MySQL no tiene datos de tipo CURSOR, o ARRAY, como otros DBMS, por lo que el SP disparará un error si hay más de un registro.
Código MySQL:
Ver original
  1. CREATE PROCEDURE SP_FERSA_ConsultaFormularioCotizador
  2. (
  3.  OUT p_Producto VARCHAR(100),
  4.  OUT p_tipo VARCHAR(100),
  5.  OUT p_Frente VARCHAR(100),
  6.  OUT p_Profundidad VARCHAR(10),
  7.  OUT p_Altura VARCHAR(100),
  8.  OUT p_Piso VARCHAR(100),
  9.  OUT p_Puertas VARCHAR(100),
  10.  OUT p_Modulos VARCHAR(10)
  11. )
  12.  
  13.     SELECT  
  14.         c.Producto,
  15.         c.Sub_Producto,
  16.         c.Frente,
  17.         c.Profundidad,
  18.         c.Altura,
  19.         c.Piso,
  20.         c.Puertas
  21.     INTO P_PRODUCTO, P_TIPO, P_FRENTE, P_PROFUNDIDAD, P_ALTURA, P_PISO, P_PUERTAS
  22.     FROM producto p INNER JOIN sub_producto sp ON p.id_prod = sp.id_prod
  23.         INNER JOIN combinaciones c ON sp.id_prod = c.ID_SUB_PROD;
  24.   END;

Yo recomendaría no usar parametros y obtener la tabla resultado que devuelve el SP directamente como tal, pero no sé en qué contexto la estás usando.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)