Re: Is it possible to create a CHECK constraint for my use case?

From: Thomas Kellerer <spam_eater(at)gmx(dot)net>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: Is it possible to create a CHECK constraint for my use case?
Date: 2012-01-31 08:33:19
Message-ID: jg88u6$l9m$1@dough.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Gnanakumar, 31.01.2012 09:11:
> Hi,
>
> Our Production server is running PostgreSQL v8.2.22 on CentOS5.2.

You know that 8.2 is "end-of-live"?
http://www.postgresql.org/support/versioning/

> There are 2 columns in the table: "managertype" numeric(1) and "managerid"
> numeric(10). "managertype" accepts only 2 valid values, either '1' or '2'.
>
> managertype | managerid
> ---------------------------------
> 1 | null values NOT allowed
> 2 | null values allowed
> ---------------------------------
>
> We want to enable a CHECK constraint based on 2 columns data in the table in
> such a way that if "managertype" is 1, then null values are not allowed in
> "managerid" column. In other words, I want to create a CHECK constraint
> something like this: IF (managertype = 1) THEN managerid IS NOT NULL.
>
> Is it possible to create a CHECK constraint for my use case explained above?

Something like this:

check ( (managertype = 2) or (managertype = 1 and managerid is not null) )

Not sure if the condition (managertype = 2) is actually needed, if the managertype is already constrained to 1/2 but I can't test it right now.

Thomas

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Walter Hurry 2012-02-01 01:04:58 Re: Is it possible to create a CHECK constraint for my use case?
Previous Message Gnanakumar 2012-01-31 08:11:00 Is it possible to create a CHECK constraint for my use case?