Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle 11g - Verifique a restrição com RegEx


Uma restrição de verificação segue as mesmas regras de sintaxe que as condições para uma cláusula WHERE:
alter table foo
  add constraint check_email 
  check (REGEXP_LIKE(email,'your_regex_goes_here','I')); 

Mais detalhes no manual:
  • para Oracle 11 - http://docs.oracle.com/cd/E11882_01/server.112/e41084/conditions007.htm#SQLRF52141
  • para Oracle 12 - https://docs.oracle.com/database/121/SQLRF/conditions007.htm#SQLRF52141

Editar:


No entanto, existem algumas restrições sobre o que você pode realmente usar em uma restrição de verificação:
  • 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