Я использую Oracle 11g и пытаюсь создать таблицу, определяющую ограничения на создание.
Я пытался добавить проверочное ограничение для проверки некоторой информации (например, адреса электронной почты, номера телефона и т. Д.)...)
Есть ли в Oracle 11g что-то, что позволило бы мне сделать что-то подобное?
constraint CK_CONSTRAINT_NAME check (EMAIL like 'REGEX')
RegEx, который я хотел использовать (взято из regexLib):
^[a-zA-Z][a-zA-Z0-9_\.\-]+@([a-zA-Z0-9-]{2,}\.)+([a-zA-Z]{2,4}|[a-zA-Z]{2}\.[a-zA-Z]{2})$
Я думаю, что Oracle 11g (поправьте меня, если я ошибаюсь) не поддерживает этот формат для RegEx ...
Я видел методы, использующие REGEX_LIKE, но, похоже, толькоработать в WHERE
предложениях.
Я бы хотел оставить его в качестве проверочного ограничения, а не триггера или внешней функции / скрипта.
Кроме того, я читал в других темахздесь, кто-то говорит, что RegEx 'не хороший способ проверки формата адреса электронной почты и такой информации.В комментарии не указана причина, и я хотел бы знать почему, если причина есть!