Ver Mensaje Individual
  #3 (permalink)  
Antiguo 04/01/2010, 14:11
Avatar de Copia
Copia
 
Fecha de Ingreso: noviembre-2009
Mensajes: 309
Antigüedad: 15 años
Puntos: 4
Respuesta: procedimiento no puede devolver un conjunto de resultados en el contexto d

vaya entonces por lo que me dices, es mejor hacer una consulta que vaya directo al ultimo valor de idventas...

Sorry con los joins no los uso porque no termino de comprenderlos.

Edito: ya hize las modificaciones:

Código:
CREATE DEFINER=`root`@`localhost` PROCEDURE `PA_Venta`(xIdcliente INT, xIdempleados varchar(3),
                         xIdproducto varchar(6), xcantidad Numeric(18,2),
                         xPrecioUnit Numeric (18,2),xId_color int)
BEGIN

  DECLARE idVenta INT;  /* idventas tomara el ultimo valor auto*/
  INSERT INTO ventas(fecha,Idcliente,Idempleados,Idproducto,cantidad,PrecioUnit,total,Id_color)
  VALUES(CURRENT_DATE(), xIdcliente, xIdempleados, xIdproducto, xcantidad, xPrecioUnit, xcantidad*xPrecioUnit, xId_color);


  SET idVenta = (Select Idventas from ventas order by Idventas desc limit 1);  /*capturando el ultimo valor de autoincrement*/

  /* Ahora restando el stock*/

  UPDATE producto SET stock = (stock - xcantidad)
  WHERE xIdProducto = Idproducto;

        /* Mostrando el Resumen de venta */
  SELECT
    v.Idventas,
    v.Fecha,
    c.nombre,
    e.nombre,
    p.Descripcion,
    v.Cantidad,
    v.PrecioUnit,
    v.total,
    co.Descripcion
  FROM ventas v
    INNER JOIN empleados e ON (v.Idempleados = e.Idempleados)
    INNER JOIN clientes c ON (c.Idcliente = v.Idcliente)
    INNER JOIN producto p ON (p.Idproducto = v.Idproducto)
    INNER JOIN color co ON (v.Id_color = co.Id_color )
    WHERE v.Idventas = idVenta;
END
y lo probe en el mysql browser, y funciona, ahora por php sigue dando error.

Última edición por Copia; 04/01/2010 a las 14:18