2013-10-18 49 views
1

我必須在藝術畫廊中創建表格。該表是Art_Object。在各種屬性中,我在執行「恢復」字段的檢查約束時遇到問題,其中唯一的值可以是「是」或「否」。我嘗試過使用雙引號,單引號,不帶引號的各種版本,使它與字段名稱相同(例如Restoration ='Yes'),但沒有運氣。我也嘗試過CHECK(Restoration IN('Yes','No'))...這也沒有奏效。我搞不清楚了。在Oracle中檢查約束條件是或否

+2

發表您的問題DDL。 – Teja

回答

4

的語法是這樣的:

CREATE TABLE Art_Object 
(
    column1 datatype null/not null, 
    column2 datatype null/not null, 
    ..., 

    CONSTRAINT check_restoration_yesno 
    CHECK (Restoration = 'Yes' OR Restoration = 'No') 
); 
+0

謝謝我嘗試過,並沒有工作,出於某種原因,它不喜歡我複製和粘貼聲明,我只是不得不輸入它。謝謝你的幫助 – user2883256

+0

你可能有一些其他的字符而不是'''。當你從MS Word複製時,這經常發生(因爲MS Word喜歡爲印刷連字符交換連字符,而Oracle DBMS不喜歡這樣)。 –