I'm與Oracle SQL開發工作的Oracle列定義爲varchar(1)M(男性)或F(女)
我需要定義一個約束爲一個新的數據的基礎上的該列: event_gender VARCHAR2(1)
它應該接受1個字符:M
(男)或F
(女);空不允許
我定義這種方式,但doesn't工作的約束:
CONSTRAINT "Check_gender" CHECK (REGEXP_LIKE(event_gender,'M'||'F'))
什麼建議嗎?
I'm與Oracle SQL開發工作的Oracle列定義爲varchar(1)M(男性)或F(女)
我需要定義一個約束爲一個新的數據的基礎上的該列: event_gender VARCHAR2(1)
它應該接受1個字符:M
(男)或F
(女);空不允許
我定義這種方式,但doesn't工作的約束:
CONSTRAINT "Check_gender" CHECK (REGEXP_LIKE(event_gender,'M'||'F'))
什麼建議嗎?
對錶'XYZ'的列'event_gender'應用約束,使其接受'M'或'F'值。約束命名爲'Check_gender':
ALTER TABLE XYZ
add CONSTRAINT Check_gender
CHECK (event_gender IS NOT NULL AND event_gender IN ('M', 'F'));
要了解更多關於check constraints。
也許解釋將是非常有用的+1 – 2013-04-29 06:15:43
在那裏也可以彈出一個非空。 – 2013-04-29 06:20:18
@David:已編輯,如果語法正確,請告訴我。 – NINCOMPOOP 2013-04-29 06:24:15
爲什麼不是'CHAR(1)'? – Phil 2013-04-29 06:14:39
不確定,但情況可能是問題。 – Avi 2013-04-29 06:14:50
感謝回答,它在字符中有同樣的問題 – user2330909 2013-04-29 06:59:52