2010-12-08 109 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

您应该谨慎使用这种方法。有大量有效的电子邮件地址可能会被拒绝。 – 2010-12-14 03:08:59

回答

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}'));