Re:

From: "usuario anonimo" <opinante(dot)anonimo(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re:
Date: 2007-04-05 15:49:09
Message-ID: 91b524660704050849p567142ccod4818909cf1a2444@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> > Trabajo sobre Windows XP por eso uso Postgresql 8.1 ya revisé todo sobre los
> > check y tuve algunas que otras ayudas pero mi pregunta es por ejemplo evitar
> > que al comenzar a cargar una descripción (el apellido de alguien) no se
> > introduzcan espacios en blanco y que si yo cargo una vez (ej. manzana) en el
> > siguiente registro no se pueda volver a cargar manzana.
>

Si no se puede volver a cargar "manzana", entonces es unica.

Para controlar que no existan espacios en blanco, se puede usar una
funcion de busqueda dentro del string como strpos

CREATE TABLE frutas(
id_fruta SERIAL PRIMARY KEY,
nom_fruta varchar(24) UNIQUE,
CHECK (strpos(nom_fruta, ' ') = 0)
);

trac=> insert into frutas values(DEFAULT, 'manzana roja');
ERROR: new row for relation "frutas" violates check constraint
"frutas_nom_fruta_check"
trac=> insert into frutas values(DEFAULT, 'manzana');
INSERT 36224 1
trac=> select * from frutas;
id_fruta | nom_fruta
----------+-----------
2 | manzana
(1 row)

trac=> insert into frutas values(DEFAULT, 'manzana');
ERROR: duplicate key violates unique constraint "frutas_nom_fruta_key"
trac=>

revisa las paginas:

http://www.postgresql.org/docs/8.1/interactive/functions-string.html
http://www.postgresql.org/docs/8.1/interactive/sql-createtable.html

Saludos.-

>
> >
> > Ojalá me explique
> >
> > Este ejemplo me parecio interesante pero le falta lo que menciono arriba.
> >
> > CREATE TABLE friend2 (
> >
> > firstname CHAR(15),
> >
> > lastname CHAR(20),
> >
> > city CHAR(15),
> >
> > state CHAR(2) CHECK (length(trim(state)) = 2),
> >
> > age INTEGER CHECK (age = 2003),
> >
> > gender CHAR(1) CHECK (gender IN ('M','F')),
> >
> > last_met INTEGER CHECK (last_met BETWEEN 1 AND 100),
> >
> > CHECK (upper(trim(firstname)) != 'ED' OR upper(trim(lastname)) != 'RIVERS')
> >
> > Desde ya Gracias
> > ________________________________
> > Consigue aquí las mejores y mas recientes ofertas de trabajo en América
> > Latina y USA: Haz clic aquí...
>
>
> --
> _________________________________
> Solo soy una mente genial en un cuerpo hermoso: Xubuntu User # 7274
>

--
_________________________________
Solo soy una mente genial en un cuerpo hermoso: Xubuntu User # 7274

In response to

  • RE: at 2007-04-05 02:49:04 from María Lorena Culzoni Estigarribia

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message eduardo arenas 2007-04-05 16:08:28 Ayuda con btrim masivo
Previous Message HERMES ZAMBRA 2007-04-05 15:06:56 RE: