Eine Check-Einschränkung folgt denselben Syntaxregeln wie Bedingungen für eine WHERE-Klausel:
alter table foo
add constraint check_email
check (REGEXP_LIKE(email,'your_regex_goes_here','I'));
Mehr Details im Handbuch:
- für Oracle 11 – http://docs.oracle.com/cd/E11882_01/server.112/e41084/conditions007.htm#SQLRF52141
- für Oracle 12 – https://docs.oracle.com/database/121/SQLRF/conditions007.htm#SQLRF52141
Bearbeiten:
Es gibt jedoch einige Einschränkungen hinsichtlich dessen, was Sie tatsächlich in einer Check-Einschränkung verwenden können:
- Oracle 11 – http://docs.oracle.com/cd/E11882_01/server.112/e41084/clauses002.htm#SQLRF52205
- Oracle 12 – https://docs.oracle.com/database/121/SQLRF/clauses002.htm#SQLRF52205