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
signature.asc
Description: OpenPGP digital signature
