Re: Ayuda para Importar datos de Oracle a Postgres

From: "ernesto contreras" <eeljuri(at)gmail(dot)com>
To: granadosluis(at)gmail(dot)com, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda para Importar datos de Oracle a Postgres
Date: 2006-04-07 21:06:16
Message-ID: 79f90aff0604071406r4dc2d766idb7b3b274c8761af@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Se le debe indicar a PostgreSql que utilizará el PgSql, no recuerdo
exactamente en este momento la instrucción, pero es algo como "create...
pgsql", apenas lo consiga te lo indico.

Seguidamente te doy un par de ejemplos de funciones:

1)
-----------------------

REATE FUNCTION getstatename2(text)
RETURNS text
AS 'DECLARE ret TEXT;
BEGIN
SELECT INTO ret CAST(name AS TEXT)
FROM statename
WHERE code = $1;
RETURN ret;

END;'
LANGUAGE 'plpgsql';

-----------------------

2)
------------------------------

CREATE FUNCTION change_statename(char(2), char(30))
RETURNS boolean
AS 'DECLARE
state_code ALIAS FOR $1;
state_name ALIAS FOR $2;
statename_rec RECORD;

BEGIN
IF length(state_code) = 0 -- no state code, failure

THEN RETURN ''f'';
ELSE
IF length(state_name) != 0 -- is INSERT or UPDATE?
THEN
SELECT INTO statename_rec *
FROM statename

WHERE code = state_code;
IF NOT FOUND -- is state not in table?
THEN INSERT INTO statename
VALUES (state_code, state_name);

ELSE UPDATE statename
SET name = state_name
WHERE code = state_code;
END IF;
RETURN ''t'';
ELSE -- is DELETE

SELECT INTO statename_rec *
FROM statename
WHERE code = state_code;
IF FOUND
THEN DELETE FROM statename
WHERE code = state_code;

RETURN ''t'';
ELSE RETURN ''f'';
END IF;
END IF;
END IF;
END;'
LANGUAGE 'plpgsql';

------------------------------

Para esto, existe muchísima documentación y ejemplos, más de la que te
imaginas.

Nota:

On 4/7/06, Luis Granados <granadosluis(at)gmail(dot)com> wrote:
>
> Gracias por tu apoyo y si es asi como tu me lo indicas, un ejemplo de
> esto es el siguiente:
>
>
>
> CREATE OR REPLACE PACKAGE COMMERDESA.pack_asignacion_lista IS
>
> FUNCTION fun_busca_descripcion_tipo(p_tipo_asignacion_id
> tipo_asignacion.tipo_asignacion_id%TYPE)
>
> RETURN tipo_asignacion.descripcion%TYPE;
>
> -- Agregados Elena 05/09/2005
>
> FUNCTION fun_unicidad_lista_activa(p_reg asignacion_lista%ROWTYPE,tupla
> ROWID,p_msg OUT VARCHAR2) RETURN BOOLEAN;
>
> -- fin agregados elena 05/09/2005
>
> END pack_asignacion_lista;
>
>
>
> Esto es la creación de un package en Oracle, en postgres no existe dicha
> funcion, asi como tu me lo comentas.
>
>
>
> El Pl-Sql y Pg-Sql su funcionamiento en Postgres es automatico, o hay que
> instalarlos???,
>
>
>
> Nuevamente te agradezco tu atención
>
>
>
> -----Original Message-----
> *From:* ernesto contreras [mailto:eeljuri(at)gmail(dot)com]
> *Sent:* Friday, April 07, 2006 2:16 PM
> *To:* granadosluis(at)gmail(dot)com
> *Subject:* Re: [pgsql-es-ayuda] Ayuda para Importar datos de Oracle a
> Postgres
>
>
>
> La verdad no entiendo de manera clara el planteamiento, pero te digo que
> los packages que se encuentran en Oracle se aprovechan en gran %, Pl-Sql y
> Pg-Sql son muy parecidos, en particular me gusta verificar línea a línea ya
> que se pueden mejorar muchas cosas. Claro, lo más probable es que existan
> algunas herramientas que ayuden, pero lamentablemente no las conozco.
>
> On 4/7/06, *Luis Granados* < granadosluis(at)gmail(dot)com > wrote:
>
> Gracias Ernesto, otra duda los package como los manejas en Postgres,
> existe algun commando que lo reemplace ???
>
>
>
> Saludos
>
>
>
> -----Original Message-----
> *From:* ernesto contreras [mailto:eeljuri(at)gmail(dot)com]
> *Sent:* Friday, April 07, 2006 1:52 PM
> *To:* granadosluis(at)gmail(dot)com
> *Cc:* pgsql-es-ayuda(at)postgresql(dot)org
> *Subject:* Re: [pgsql-es-ayuda] Ayuda para Importar datos de Oracle a
> Postgres
>
>
>
> Yo llo hago, generando desde sqlplus (oracle) una archivo plano con las
> instrucciones:
> spool nombredelarchivo.txt
> select ........
> spool off
>
> Luego lo cargo en PostgreSql con:
> copy
>
> Los resultados son excelentes y lo he probado con tablas de hasta 27
> millones de registros.
>
> Espero te sea útil.
>
> Saludos.
>
> On 4/7/06, *Luis Granados* < granadosluis(at)gmail(dot)com> wrote:
>
> Alguien ha importado datos de Oracle a Postgres o existe alguna
> herramienta que me pueda auxiliar en este tema.
>
>
>
> Saludos
>
>
>
>
>

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Carlos Badillo Goy 2006-04-07 21:28:43 Problema con la Salva y Restaura en PosgreSQL 8.0
Previous Message Paolo Lopez 2006-04-07 20:42:19 Re: Problema Order By en PosgreSQL 8.1