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