Re: Select * from tabla --> a String...

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Nicolás Domínguez Florit <ndomin(at)rec(dot)unicen(dot)edu(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Select * from tabla --> a String...
Date: 2005-12-07 19:58:41
Message-ID: c2d9e70e0512071158v77a0f68egec7afbc361c26119@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 12/6/05, Nicolás Domínguez Florit <ndomin(at)rec(dot)unicen(dot)edu(dot)ar> wrote:
> Va un poco codigo un poco pseudo, lo que esta en negrita es lo que me
> interesaria hacer (lo otro, el contexto)
>
>
> CREATE OR REPLACE FUNCTION migracion(varchar, varchar, varchar, varchar,
> char) RETURNS int4 AS '
> DECLARE
> Tabla ALIAS FOR $1;
> Campo ALIAS FOR $2;
> TablaPadre ALIAS FOR $3;
> CampoPadre ALIAS FOR $4;
> PermiteNulo ALIAS FOR $5;
> BEGIN
> --StringWhere = xxxxx
> --StringIsNull = yyyyyy
> EXECUTE ''CREATE TEMP TABLE "DHTEMP" AS (SELECT '' || quote_ident(Tabla)
> || ''.* FROM '' ||
> quote_ident(TablaPadre) || '', '' || quote_ident(Tabla) || ''
> WHERE '' || StringWhere || '');'';
> -- en DHTEMP tengo los registros que deben ir. Los depurados
> -- en Tabla me quedaron todos.
> -- Lo que necesitaria es una diferencia entre DHTEMP y Tabla y a esa
> diferencia mandarla a la tabla log_borrados
> -- algo asi como...
> -- insert into log_borrados SELECT row(tabla.*) FROM tabla WHERE este en
> tabla y no en dhtemp
> -- El problema me surge cuando lo quiero hacer generico y no se como hacer
> el matching en el where
>
> EXECUTE ''DELETE FROM '' || quote_ident(Tabla) || '';'';
> EXECUTE ''INSERT INTO '' || quote_ident(Tabla) || '' SELECT * FROM '' ||
> ''"DHTEMP";'';
> EXECUTE ''DROP TABLE "DHTEMP";'';
> RETURN 1;
> END;
> ' LANGUAGE 'plpgsql' VOLATILE;
> COMMENT ON FUNCTION migracion(varchar, varchar, varchar, varchar, char)
> IS 'hace algo';
>
>
> Gracias.
>
> Nicolas.
>

Porque mejor no haces un trigger on delete?

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Nicolás Domínguez Florit 2005-12-07 20:18:03 Re: Select * from tabla --> a String...
Previous Message Nicolás Domínguez Florit 2005-12-07 19:54:46 Re: Select * from tabla --> a String...