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.
|
|
Get the Complete
Oracle SQL Tuning Information
The landmark book
"Advanced Oracle
SQL Tuning The Definitive Reference" is
filled with valuable information on Oracle SQL Tuning.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|