| From: | cbeltran <cbeltran(at)roldan(dot)net> |
|---|---|
| To: | AyudaPostgres <pgsql-es-ayuda(at)postgresql(dot)org> |
| Subject: | Como prohibir tajantamente que una columna de una tabla sea modificada? |
| Date: | 2004-10-06 16:35:15 |
| Message-ID: | 057301c4abc2$77523d60$272615ac@tania |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
Por ser aplicativos WEB (con logica de negocio en PHP) y procesamiento distribuido (en diferentes servers con la BD postgres replicada a un servidor central ), se definieron todas las tablas de la base de datos con una secuencia similar al siguiente ejemplo:
CREATE SEQUENCE terceros_id_seq start XX0000001 increment 1 maxvalue 999999999 minvalue 1 cache 1 ;
CREATE TABLE terceros (
terceros_id integer DEFAULT nextval('terceros_id_seq'::text) NOT NULL,
tercero integer NOT NULL,
digito_verificacion char(1),
...
...
Constraint pk_terceros Primary Key (terceros_id)
);
donde XX el numero de la sucursal.
Y dado que la replica opera con base a ese ID que es primary key (terceros_id del ejemplo), es necesario asegurar que ningun aplicativo o manejador tipo PgAccess modifique dicho contenido via UPDATE. Es decir que solo permita consultar el ID o borrar completamente la linea, mas no modificar dicho ID.
Cual seria la forma adecuada de prohibir tajantemente que ese contenido (terceros_id del ejemplo) sea modificado?
De antemano gracias por la colaboracion.
Carlos Beltran V.
Roldan SIA SA Bogota Colombia.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2004-10-06 17:17:12 | Re: Mi ser |
| Previous Message | Alvaro Herrera | 2004-10-06 16:12:56 | Re: Mi ser |