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

From: Nicolás Domínguez Florit <ndomin(at)rec(dot)unicen(dot)edu(dot)ar>
To: "Jaime Casanova" <systemguards(at)gmail(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Select * from tabla --> a String...
Date: 2005-12-07 20:18:03
Message-ID: 01be01c5fb6b$5422b3c0$ea84a8c0@Nico
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

no me parece del todo viable (por ahi lo tendria que trabajar mas dentro de
mi cabeza), la forma que busque ya la tengo casi listo, me faltaria ver como
guardar el row(tabla.*) en un varchar o text.

Lo del delete puede andar, pero no se si es tan optimo. Te repito, lo
tendria que pensar desde cero con el trigger

quien da mas? se puede hacer lo del row() a texto?

----- Original Message -----
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>
Sent: Wednesday, December 07, 2005 4:58 PM
Subject: Re: [pgsql-es-ayuda] Select * from tabla --> a String...

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

---------------------------(fin del mensaje)---------------------------
TIP 4: No hagas 'kill -9' a postmaster

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.13.12/193 - Release Date: 06/12/2005

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raul Caso 2005-12-07 21:12:59 Re: Problema al conectarme a traves del php con Postgres.
Previous Message Jaime Casanova 2005-12-07 19:58:41 Re: Select * from tabla --> a String...