Como prohibir tajantamente que una columna de una tabla sea modificada?

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: Raw Message | Whole Thread | 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.

Responses

Browse pgsql-es-ayuda by date

  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