3
我是SQL和Oracle的新手。我在玩甲骨文。我試圖限制電話號碼,所以它只允許以特定方式插入電話號碼。在Oracle中的表中格式化電話號碼
下面是我的表:
CREATE TABLE FIRSTTRY(
USERID CHAR(9) NOT NULL,
USERNAME VARCHAR(20) NOT NULL,
EMAILADDRESS VARCHAR(40),
PHONENUMBER VARCHAR(12),
PROFILEPICTURE BLOB,
PRIMARY KEY(USERID)
);
我把這樣的電話號碼約束:
ALTER TABLE FIRST_TRY
ADD CONSTRAINT FIRSTTRY_PHONENUMBER CHECK
(PHONENUMBER LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]'
OR PHONENUMBER LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
OR PHONENUMBER LIKE '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9]');
我插入值表是這樣的:
INSERT INTO FIRST_TRY VALUES (1,'ABCD','[email protected]','0504562893',NULL);
但它給了我一個錯誤: 以下是錯誤:
02290. 00000 - "check constraint (%s.%s) violated"
*Cause: The values being inserted do not satisfy the named check
*Action: do not insert values that violate the constraint.
任何意見,建議?
在我看來,你檢查數字,但插入串 – Mihai