Re: Ayuda para pasar resultados de una tabla en csv

From: Cristobal Alexis Ibarra Gonzalez <cristobaal(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda para pasar resultados de una tabla en csv
Date: 2016-02-25 20:04:42
Message-ID: CAAYhqpsRHDRmusOmdsTfgWw-OYM3voMdJx7S=nggNFqyBqhR0g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ahí va

CREATE OR REPLACE FUNCTION fn_normalizardireccion(Var_lote VARCHAR)
RETURNS void AS $$
DECLARE

BEGIN

/*Insertar los datos de la tabla Direcciones_TMP hacia la tabla
direcciones*/

INSERT INTO DIRECCIONES( DIRECCION, COMUNA, LOTE)
SELECT DIRECCION
,COMUNA
,LOTE
FROM DIRECCIONES_TMP WHERE LOTE = Var_lote;

--SET client_encoding TO LATIN1;

COPY (
SELECT DISTINCT
DN.ID_DIRECCIONES
,DN.LOTE
,DN.DIRECCION_COPIA
,DN.CALLE
,DN.NUMERAL
,DN.RESTO
,DN.COMUNA
,CAST(MD.UTM_NORTE as numeric) AS UTM_NORTE
,CAST(MD.UTM_ESTE as numeric) AS UTM_NORTE
FROM DIRECCIONESNORMALIZADA AS DN LEFT JOIN
MaestroDirecciones AS MD ON DN.COMUNA=MD.COMUNA AND DN.CALLE=MD.CALLE AND
DN.NUMERAL=MD.NUMERO
WHERE LOTE = $1 ORDER BY DN.ID_DIRECCIONES
) TO '/home/user/Archivo.csv' WITH CSV HEADER;

END;
$$ LANGUAGE plpgsql;

El 25 de febrero de 2016, 17:01, Anthony Sotolongo <asotolongo(at)gmail(dot)com>
escribió:

> ese error significa "undefined_column". , puedes adjuntar el código de la
> función?
>
> saludos
>
>
> On 25/02/16 16:59, Cristobal Alexis Ibarra Gonzalez wrote:
>
> Probe ingresando y el error fue el mismo.
>
> WHERE DN.x3= *$1 *ORDER BY DN.X7
>
> ********** Error **********
>
>
> SQL state: 42703
>
> El 25 de febrero de 2016, 16:53, Anthony Sotolongo <
> <asotolongo(at)gmail(dot)com>asotolongo(at)gmail(dot)com> escribió:
>
>> Hola Cristobal, que problema te da? error,cual?, no guarda en el CSV? has
>> probado utilizar $N(N=numero del parámetro en la función) en vez del nombre
>> de la variable
>>
>>
>> Saludos
>>
>> On 25/02/16 16:42, Cristobal Alexis Ibarra Gonzalez wrote:
>>
>> Estimados,
>>
>> Buenas tardes, les escribo porque quisiera saber si me pueden ayudar con
>> lo siguiente:
>>
>> He creado una función que a la cual se le entrega un parámetro de entrada
>> de tipo Varchar.
>>
>> Al final de todo lo que realizo deseo pasar el resultado de una query a
>> un archivo csv, cuando ejecuto la sentencia fuera de la función esta hace
>> todo de manera perfecta, el problema que tengo sucede cuando va dentro de
>> la función y principalmente creo que lo hace por la variable que estoy
>> usando.
>>
>> SET client_encoding TO LATIN1;
>>
>> COPY (
>> SELECT DISTINCT
>> DN.x1
>> ,DN.x2
>> ,DN.x3
>> ,DN.x4
>> ,DN.x5
>> ,DN.x6
>> ,DN.x7
>> ,CAST(MD.x8as numeric) AS x9
>> ,CAST(MD.x9as numeric) AS x9
>> FROM TABLA1 AS DN LEFT JOIN
>> TABLA2 AS MD ON DN.COMUNA=MD.COMUNA AND DN.CALLE=MD.CALLE AND
>> DN.NUMERAL=MD.NUMERO
>> WHERE LOTE = Var_lote ORDER BY DN.ID_DIRECCIONES
>> WHERE DN.x3= *Var_lote *ORDER BY DN.X7
>>
>> Donde Var_lote es la variable que le entrego a la función para que esta
>> se ejecute. Personalmente creo que el problema esta en el
>>
>> WHERE DN.x3= Var_lote ORDER BY DN.X7
>>
>> Esto porque si yo agrego un string y saco la variable esta funciona
>> adecuadamente en la función. WHERE DN.x3= 'ejemplo1234' ORDER BY DN.X7
>>
>> --
>> Con respeto y cariño,
>>
>>
>> Atentamente
>> Cristóbal Ibarra González
>>
>>
>>
>
>
> --
> Con respeto, admiración y cariño,
>
>
> Atentamente
> Cristóbal Ibarra González
>
>
>

--
Con respeto, admiración y cariño,

Atentamente
Cristóbal Ibarra González

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Anthony Sotolongo 2016-02-25 20:36:42 Re: Ayuda para pasar resultados de una tabla en csv
Previous Message Anthony Sotolongo 2016-02-25 20:01:54 Re: Ayuda para pasar resultados de una tabla en csv