Trong Oracle, bạn có thể chỉ định ràng buộc tùy chỉnh , trong đó bạn có thể sử dụng các hàm đánh giá regexp ; ví dụ:
SQL> create table test_pattern ( txt varchar2(1000))
2 /
Table created.
SQL> alter table test_pattern add constraint check_pattern check (regexp_instr(txt, '^START') != 0)
2 /
Table altered.
SQL> insert into test_pattern values ('START a d f g ')
2 /
1 row created.
SQL> insert into test_pattern values ('_START a d f g ')
2 /
insert into test_pattern values ('_START a d f g ')
*
ERROR at line 1:
ORA-02290: check constraint (SIUINTEGRA.CHECK_PATTERN) violated
Bạn có thể nhận được thông tin về các ràng buộc mà bạn đặt ra với những thứ như:
select *
from dba_constraints
where table_name = 'TEST_PATTERN'