Tema: Cursores
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/03/2010, 13:13
Avatar de acoevil
acoevil
 
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 16 años, 7 meses
Puntos: 32
Cursores

Hola que tal, hace poco empezo con los cursores en mysql, y pues todo funciona perfectamente, lo unico que no entiendo es una linea, me la podrian explicar porfavor.

La que deje en negrita


DELIMITER //
DROP TRIGGER IF EXISTS devolucion_avanzada//
CREATE TRIGGER devolucion_avanzada AFTER DELETE ON clientes
FOR EACH ROW BEGIN

DECLARE facturas INT ( 5 );
DECLARE productoo char( 5 );
DECLARE cantidadd int( 4 );
DECLARE idone INT DEFAULT 0;

DECLARE facturas_cur CURSOR FOR SELECT f.consecutivo, df.producto, df.cantidad FROM factura f,detallefactura df WHERE f.consecutivo = df.consecutivo AND f.cliente = OLD.cedula;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET idone = 1;

OPEN facturas_cur;
REPEAT
FETCH facturas_cur INTO facturas, productoo, cantidadd;

IF NOT idone THEN UPDATE productos SET cantidad = cantidad + cantidadd where codigo = productoo;
DELETE FROM factura WHERE consecutivo = facturas;
DELETE FROM detallefactura WHERE consecutivo = facturas;

END IF;
UNTIL idone END REPEAT;
CLOSE facturas_cur;

END;//

-- 92227452

SELECT f.consecutivo, CONCAT ( df.producto , " - ", df.cantidad) "Cliente
", CONCAT( p.codigo, " - ", p.cantidad ) FROM factura f,detallefactura df, produ
ctos p WHERE f.consecutivo = df.consecutivo AND df.producto = p.codigo AND f.cli
ente =
__________________
Como presentar nuestros datos por medio de tablas . clase Aco_DataGrid Version 1.4