3
私はOracleだけでなくSQLも新しくなっています。私はOracleと遊んでいた。私は電話番号に制約を設けようとしたので、電話番号は特定の方法でしか挿入できません。以下は Oracleのテーブル内の電話番号のフォーマット
は私のテーブルです:
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]');
私はこのように、テーブルに値を挿入しています:私はこのような電話番号の制約を置く
CREATE TABLE FIRSTTRY(
USERID CHAR(9) NOT NULL,
USERNAME VARCHAR(20) NOT NULL,
EMAILADDRESS VARCHAR(40),
PHONENUMBER VARCHAR(12),
PROFILEPICTURE BLOB,
PRIMARY KEY(USERID)
);
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