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
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: |