Check Constraint not xor

Check Constraint not xor

am 24.07.2009 17:05:05 von Thomas Guettler

Hallo,

ich habe zwei Spalten die "Hand in Hand gehen".

Also entweder sind beide NULL oder beide gefüllt. Dafür habe ich
folgenden check constraint.

Geht das nicht einfacher?

alter table foo add check(not ((col1 is null) !=3D (col2 is null)) );

Wenn ich das "not" weglasse und == verwende bekomme ich folgenden Fehle=
r:

ERROR: operator does not exist: boolean == boolean

Irgendwie ist das nicht ganz symetrisch. Den Operator !=3D gibt es ja.

select version();
version
------------------------------------------------------------ ---------------=
-----------------
PostgreSQL 8.2.6 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.=
2.1 (SUSE Linux)

Gruß,
Thomas

--=20
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: Check Constraint not xor

am 24.07.2009 17:26:04 von adsmail

Hallo,

On Fri, 24 Jul 2009 17:05:05 +0200 Thomas Guettler wrote:

> Wenn ich das "not" weglasse und == verwende bekomme ich folgenden Feh=
ler:

=3D und nicht ==

Ein einfaches Istgleich-Zeichen genügt.



> select version();
> version
> ------------------------------------------------------------ -------------=
-------------------
> PostgreSQL 8.2.6 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) =
4.2.1 (SUSE Linux)

Das könntest aber mal updaten ;-)


Schönes Wochenende

--=20
Andreas 'ads' Scherbaum
German PostgreSQL User Group
European PostgreSQL User Group - Board of Directors
Volunteer Regional Contact, Germany - PostgreSQL Project

PGDay.eu 2009 in Paris, Nov. 6/7, http://www.pgday.eu/

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein