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

From: Nicolás Domínguez Florit <ndomin(at)rec(dot)unicen(dot)edu(dot)ar>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Select * from tabla --> a String...
Date: 2005-12-09 15:04:48
Message-ID: 017101c5fcd1$e619ebb0$ea84a8c0@Nico
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Si Alvaro, Mi modelo tiene 300 tablas, y si tendria que creear un audit_ por
cada tabla serian 300 mas.

Proce lo del tipo record y mismo error.

La unica que me queda es recorrer cada fila
Recorrer cada columna
cancatenar en string ||
agregar fila string
blanquear variable acumulativa de string

----- Original Message -----
From: "Alvaro Herrera" <alvherre(at)commandprompt(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: Friday, December 09, 2005 11:48 AM
Subject: Re: [pgsql-es-ayuda] Select * from tabla --> a String...

> Nicolás Domínguez Florit escribió:
>> Si, lo 1 tabla de auditoria por cada tabla es una solucion. Pero no BUENA
>> para mi caso puntual.
>>
>> Ya que es una depuracion de tablas y repetir 300 tablas no me es util.
>> (para este caso puntual.)
>
> Repetir 300 tablas?
>
> create table foo (a int, b text);
> create table bar (c text, d numeric);
> create table audit_foo (rec foo);
> create table audit_bar (rec bar);
>
> alvherre=# insert into foo values (1, 'uno');
> INSERT 0 1
> alvherre=# insert into foo values (2, 'deux');
> INSERT 0 1
> alvherre=# insert into audit_foo select foo from foo;
> INSERT 0 2
> alvherre=# select * from audit_foo ;
> rec
> ----------
> (1,uno)
> (2,deux)
> (2 filas)
>
> alvherre=# insert into bar values ('none', 1000);
> INSERT 0 1
> alvherre=# insert into bar values ('two', 2000);
> INSERT 0 1
> alvherre=# insert into bar values ('cero', 999);
> INSERT 0 1
> alvherre=# insert into audit_bar select bar from bar;
> INSERT 0 3
> alvherre=# select * from audit_bar;
> rec
> -------------
> (none,1000)
> (two,2000)
> (cero,999)
> (3 filas)
>
> A las tablas audit_* le agregas columnas "event" y reemplazas "rec" por
> "new" y "old", sazonas con triggers y ya tienes tu auditoria lista. Que
> mas facil lo quieres?
>
> Si lo que querias era poner la auditoria de foo y bar en una sola tabla,
> me temo que no es posible:
>
> alvherre=# create table audit_both (rec record);
> ERROR: la columna «rec» tiene pseudotipo record
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.371 / Virus Database: 267.13.13/195 - Release Date:
> 08/12/2005
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Horacio Miranda 2005-12-09 15:26:38 Re: recuperar campo id
Previous Message Oswaldo Hernández 2005-12-09 14:58:35 Re: Select * from tabla --> a String...