From: | Alvaro Uría <fermat(at)rigel(dot)deusto(dot)es> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Crear un evento cada vez que se hace una UPDATE |
Date: | 2008-07-16 11:40:10 |
Message-ID: | 487DDE1A.3010702@rigel.deusto.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola,
Lo primero de todo: es la primera vez que escribo así que un saludo a
todos :-)
Quería convertir una opción de MySQL (al crear tablas) a Postgres, pero
no estaba seguro.
La tabla en MySQL es algo así como,
CREATE TABLE `TResource` (
`id` varchar(255) NOT NULL,
`type` varchar(50) NOT NULL default '',
`uploaded` timestamp NOT NULL default CURRENT_TIMESTAMP on update
CURRENT_TIMESTAMP,
`validNotBefore` timestamp NOT NULL default '0000-00-00 00:00:00',
`validNotAfter` timestamp NOT NULL default '0000-00-00 00:00:00',
`name` varchar(255) NOT NULL default '',
`description` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
En Postgres, la he creado tal que,
CREATE TABLE TResource (
id character varying(255) NOT NULL,
"type" character varying(50) NOT NULL default '',
uploaded timestamp NOT NULL default CURRENT_TIMESTAMP,
validNotBefore timestamp NOT NULL default '0000-00-00 00:00:00',
validNotAfter timestamp NOT NULL default '0000-00-00 00:00:00',
name character varying(255) NOT NULL default '',
description text
);
ALTER TABLE TResource
ADD CONSTRAINT TResource_pkey PRIMARY KEY (id);
El problema es que parece que no se puede hacer, para el atributo
"uploaded", el añadido de "on update CURRENT_TIMESTAMP" con lo que
leyendo la documentación he pensado en algo así como,
CREATE RULE TResource_update_uploaded AS ON UPDATE TResource.uploaded DO
UPDATE TResource (new.uploaded = NOW()) WHERE TResource.id=current.id;
¿Sería así la equivalencia?
Muchas gracias.
Saludos,
Alvaro Uría
From | Date | Subject | |
---|---|---|---|
Next Message | Gorka | 2008-07-16 11:47:53 | Forzar la escritura del log |
Previous Message | Silvio Quadri | 2008-07-15 13:57:23 | Re: LATIN1 versus UTF8 |