2010-12-08 4 views
1

Я довольно новичок в Oracle и очень новичок в APEX. Я пытаюсь добавить ограничение на таблицу, чтобы проверить электронную почту:Добавление ограничения проверки электронной почты в APEX

REGEXP_LIKE(CALLER_EMAIL, '[a-zA-Z0-9._%-][email protected][a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}') 

Теперь, если я прав, это будет работать нормально Внутри CONSTRAINT <name> CHECK(REGEXP_LIKE(...)) однако я получаю это (запутанный) сообщение об ошибке при попытке сохранить его :

ORA-00920: недопустимый оператор отношения

Я думаю, что это происходит потому, что сгенерированный запрос содержит "CALLER_EMAIL":

alter table "CALL" add constraint 
"CALL_EMAILFORMAT_CHK" check ("CALLER_EMAIL" REGEXP_LIKE(CALLER_EMAIL, '[a-zA-Z0-9._%-][email protected][a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}')) 

Любые идеи?

+0

Вы должны быть осторожны с этим подходом. Существует большое количество допустимых адресов электронной почты, которые могут быть отклонены. –

ответ

1

Попробуйте это:

alter table "CALL" add constraint 
"CALL_EMAILFORMAT_CHK" check 
    (REGEXP_LIKE(CALLER_EMAIL, '[a-zA-Z0-9._%-][email protected][a-zA-Z0-9._%-]+\.[a-zA-Z]{2,4}')); 

 Смежные вопросы

  • Нет связанных вопросов^_^