Question:
I need to understand how to add a constraint statement to
create a check constraint for a table. How do you alter a
table to add a check constraint?
Check Constraints to validate values
Check constraints validate that values in a given column
meet a specific criteria. For example, you could create a check constraint on a
varchar2 column so it only can contain the values T or F as in this example:
Create
table my_status
( status_id NUMBER PRIMARY KEY,
person_id NUMBER NOT NULL,
active_record VARCHAR2(1) NOT NULL
CHECK (UPPER(active_record)=’T’
or
UPPER(active_record)=’F’),
person_ssn VARCHAR2(20) CONSTRAINT un_person_ssn
UNIQUE
);
In this example we created a table called MY_STATUS
using the create table command. Notice the constraint keyword, this indicates
that we are getting ready to define a constraint. Recall that earlier in this
chapter we discussed in-line and out of line constraints. This particular
example is known as an in-line constraint because the constraint is being
defined in the same line as the column being defined.
If you need to add a check constraint to a table after
the fact, simply use the alter table command. Here is an example:
ALTER TABLE my_status ADD (CONSTRAINT ck_stats_01
CHECK (UPPER(active_record)=’T’ or
UPPER(active_record)=’F’) );
Boolean
Expressions can be used with check constraints.
|
|
|
|
Guarantee your Success!
Oracle is the
world's most complex, robust and flexible database, considered
impossible to master without a mentor.
That's why all BC
Oracle trainers are working professionals, experts in Oracle who
share their tips and secrets. |
|
| |
|
Burleson is the American Team

Note:
This Oracle
documentation was created as a support and Oracle training reference for use by our
DBA performance tuning consulting professionals.
Feel free to ask questions on our
Oracle forum.
Verify
experience!
Anyone
considering using the services of an Oracle support expert should
independently investigate their credentials and experience, and not rely on
advertisements and self-proclaimed expertise. All legitimate Oracle experts
publish
their Oracle
qualifications.
Errata?
Oracle technology is changing and we
strive to update our BC Oracle support information. If you find an error
or have a suggestion for improving our content, we would appreciate your
feedback. Just
e-mail:
and include the URL for the page.
Copyright © 1996 - 2012
All rights reserved.
Oracle ©
is the registered trademark of Oracle Corporation.
|
|