2010-12-08 27 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}'));