Re: Usando vistas. Ahora creando secuencias.

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Juanky Moral <juanky(dot)moral(at)gmail(dot)com>
Cc: Pablo Braulio <brulics(at)gmail(dot)com>, pgsql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Usando vistas. Ahora creando secuencias.
Date: 2006-02-13 14:01:52
Message-ID: 20060213140152.GA5107@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Juanky Moral escribió:
> On 2/12/06, Pablo Braulio <brulics(at)gmail(dot)com> wrote:

> > create table prueba (
> > id varchar(10) not null default nextval(to_char(current_date, 'yy') || '/' ||
> > 'id_num_incidencia_seq'),
> > nombre name );
> >
> > Pero al introducir datos me ocurre lo siguiente:
> >
> > INSERT INTO prueba (nombre) values ('pablo');
> > ERROR: no existe la relación «06/id_num_incidencia_seq

Una vez que hayas solucionado ese problema como lo describe Juanky,
asegurate de poner ademas una restriccion CHECK que verifique que el
dato que se introduce tiene el formato correcto. De lo contrario,
cualquiera podria enviar un INSERT que incluya el valor para el campo
"id", lo cual se saltara la expresion DEFAULT y podria ser absolutamente
cualquier cosa.

IMHO es mala idea tener una columna compuesta en una tabla (en realidad
creo que no es MHO solamente, sino que es una de las reglas de alguna
forma normal). La sugerencia de Espartano de tener dos columnas (y dar
el formato apropiado en el despliegue, sea en el SELECT o en una vista)
es mucho mejor.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2006-02-13 14:46:16 Re: generar sumario
Previous Message Nicolás Domínguez Florit 2006-02-13 12:08:19 dump | restore en Windows...