【发布时间】:2013-12-24 11:42:51
【问题描述】:
我的目的是知道如何为每行包含电子邮件的列以及每行包含电话号码的列提供有效模式。我尝试了一些我在网上尝试过的模式,但它们不起作用。所以我问任何知道如何定义这些模式的人来帮助我。
这是我想要的模式:
在电子邮件中:每个人都使用的标准模式。 电话号码:电话号码最多10位,以0开头,后面9位可以是0-9之间的任意数字 下面是建表的代码:
DROP TABLE COMITE_I;
create table COMITE_I
(
IDCOMITE_I INTEGER not null,
NOMCOMITE_I VARCHAR2(100),
PRENOMCOMITE_I VARCHAR2(100),
EMAILCOMITE_I VARCHAR2(100),
MDPCOMITE_I VARCHAR2(50),
NUMTELCOMITE_I VARCHAR2(20),
constraint PK_COMITE_I primary key (IDCOMITE_I),
constraint CK_emailComite_I CHECK(REGEXP_LIKE(emailComite_I,'[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})')),
constraint CK_numTelComite_I CHECK(REGEXP_LIKE(numTelComite_I,'0([0-9]{9})'))
);
这是插入的 SQL 代码:
INSERT INTO Comite_I (idComite_I,nomComite_I,prenomComite_I,emailComite_I,mdpComite_I,numTelComite_I) VALUES (1,'Nom1','Prenom1','truc@machin.com','azerty','0234567899');
返回错误
ERROR at line 1:
ORA-02290: check constraint (GESTION_CONGRES.CK_EMAILCOMITE_I) violated
提前感谢您的帮助,请记住我是初学者 :) 谢谢
【问题讨论】:
标签: sql oracle11g pattern-matching sqlplus