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 ;)
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... |