[MYSQL]
DROP PROCEDURE IF EXISTS prueba;
SET sql_mode = 'PIPES_AS_CONCAT';
DELIMITER //
CREATE PROCEDURE prueba()
BEGIN
DECLARE vregistro TEXT(276);
DECLARE vdireccion CHAR(255);
DECLARE vco_cte CHAR(11);
DECLARE vnu_rif CHAR(10);
DECLARE vnb_lugar CHAR(40);
DECLARE vcalle_av CHAR(45);
DECLARE vcasa_edf CHAR(30);
DECLARE vapto_ofc CHAR(40);
DECLARE vurbn CHAR(30);
DECLARE vprrq CHAR(30);
DECLARE vmunc CHAR(20);
DECLARE vnb_cdad CHAR(20);
DECLARE sw INTEGER;
DECLARE error INTEGER;
DECLARE vacio INT DEFAULT 0;
DECLARE cursor1 CURSOR FOR
SELECT DISTINCT c.co_cte
,c.nu_rif
,ui.nb_lugar
,d.casaedificio
,d.aptooficina
,d.calleavenida
,d.urbanizacion
,d.parroquia
,d.municipio
,cd.nombreciudad
FROM v_instalacion i
, v_ubic_instalacion ui
, v_cliente c
, direccion d
, ciudad cd
WHERE i.orig_copia=0 AND
i.stat_instl in (0,8) AND
ui.instl=i.instl AND
ui.t_lugar=1 AND
i.co_cte=c.co_cte AND
c.n

ui.nb_lugar=d.nombrelugar AND
d.codciudad=cd.codciudad
ORDER BY 1,2,3;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET vacio= 1;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET error = 1;
SET vdireccion =' ';
SET vregistro = ' ';
SET sw = 0;
OPEN cursor1;
loop_cursor1: LOOP
FETCH cursor1 INTO vco_cte,vnu_rif,vnb_lugar,vcasa_edf,vapto_ofc,vcal le_av,vurbn,vprrq,vmunc,vnb_cdad;
IF (vacio = 1) THEN
LEAVE loop_cursor1;
END IF;
SET vdireccion = vnb_lugar;
SET vregistro=vco_cte||"|"||vnu_rif||"|"||TRIM(vdirecc ion)||"|";
IF sw = 0 THEN
SELECT vregistro INTO OUTFILE "E:/Documents and Settings/m/Escritorio/spl/dir_ctes_saucos.txt" FIELDS TERMINATED BY '|' LINES TERMINATED BY '\r\n';
SET sw = 1;
ELSE
SELECT vregistro INTO OUTFILE "E:/Documents and Settings/m/Escritorio/spl/dir_ctes_saucos.txt" FIELDS TERMINATED BY '|' LINES TERMINATED BY '\r\n';
END IF;
SET vregistro = ' ';
END LOOP loop_cursor1;
CLOSE cursor1;
SET vacio= 0;
END;
//
DELIMITER ;
call prueba();
[/MYSQL]