State a check constraint that check relation between two columns : Constraint Check « Constraints « Oracle PL / SQL






State a check constraint that check relation between two columns

  


SQL> -- State a check constraint that check the value of more than one column.
SQL> -- The following example makes sure that the value of begin_ is smaller than the value of end_.
SQL>
SQL> create table myTable(
  2    begin_   number,
  3    end_     number,
  4    value_   number,
  5    check (begin_ < end_)
  6  );

Table created.

SQL>
SQL> insert into myTable values(1, 3, 4);

1 row created.

SQL> insert into myTable values(2000, 3, 5);
insert into myTable values(2000, 3, 5)
*
ERROR at line 1:
ORA-02290: check constraint (SYS.SYS_C004432) violated


SQL> insert into myTable values(2, 3 ,6);

1 row created.

SQL>
SQL> select * from myTable;

    BEGIN_       END_     VALUE_
---------- ---------- ----------
         1          3          4
         2          3          6

SQL>
SQL> drop table myTable;

Table dropped.

SQL>
SQL>
           
         
    
  








Related examples in the same category

1.Constriant: check value between 0 and 100
2.Follow the contraint
3.add constraint for a column: check (gender in ('MALE', 'FEMALE'))
4.Constraint check with 'upper' function
5.Constraint check with in function
6.Violate constraints
7.Check date type column for nullable and value range
8.Check nullable and value range for one single column data
9.Add two conditions for one column
10.Add constraint for date type column
11.A check constraint can also be created or added as a table constraint.
12.Add constraint to ensure that value from one column is bigger than that from another
13.Setting CHECK constraint for number type field
14.Setting the Check constraint for int value field during declaration
15.Syntax for adding check constraint to a column
16.Use decode() function in check constraints
17.Violate a check constraint
18.alter table dept add emp_count number, constraint must_be_between_3_8, check(emp_count between 3 and 8 OR emp_count = 0), deferrable initially deferred
19.Could only contain three values
20.Must be upper case