2012-08-08 50 views
0

我搜索了論壇,但並沒有找到正確的答案,對不起,如果我雙崗 我要創建這個表缺少右括號在創建表

create table HUB_SHIFT_REPORT 
(
    Da_te timestamp(8) not null 
, Week_Day varchar2(10) not null constraint cnstrnt_day check (Week_Day in('Su','Mo','Tu','We','Th','Fr','Sa')) 
, Shift varchar2(10) not null constraint cnstrnt_shift check (Shift in('Morning','Evening','Night')) 
, Handled_by varchar2(60) not null constraint cnstrnt_handled check (Handled_by in('Artyom','Natan','Asaph','Yaniv','Fadi','AdiG','AdiF','Paul','Benjamin','Matan','Yosef')) 
, Incident_Number number(10) not null PRIMARY KEY 
, Centreon_Duration varchar2(10) not null 
, Time_received varchar2(10) not null 
, Time_restored varchar2(10) not null 
, Time_closed varchar2(10) not null 
, Product varchar2(60) not null constraint cnstrnt_product check (Product in ('Primo','MetaLib','SFX','bX','Primo Central','USTAT','Alma','Aleph','voayger','Marcit','ARC','Verde','Rosetta','Digitool','MetaLib+','NUUL','Not product related')) 
, Service_name varchar2(400) not null 
, Data_Center varchar2(10) constraint cnstrnt_dc check (Data_Center in ('DC01','DC02','DC03','DC04','DC05','Amazon','NULL')) 
, HOST VARCHAR2(40) 
, GUEST VARCHAR2(40) 
, Alert_Name varchar2(400) not null 
, Alert_Status varchar2(40) cnstrnt_status check (Alert_Status in ('CRITICAL','WARNING','UNKNOWN','DOWN','NULL')) 
, Affected_Customers varchar2(400) not null 
, Is_Escalated varchar2(10) default ('No') cnstrnt_yes check (Is_Escalated in('Yes','No')) 
, Escalated_at varchar2(10) default ('NULL') 
, Escalated_to varchar2(100) default ('NULL') 
, Open_Action_items varchar2(400) default ('NULL') 
, Time_Resolved varchar2(10) default ('NULL') 
, Related_alerts varchar2(50) default ('NULL') 
, Related_critical_alert_host varchar2(100) default ('NULL') 
, Is_Reported varchar2(10) default ('No') cnstrnt_yes check (Is_Reported in('Yes','No')) 
, Alert_Accuracy varchar2(10) default ('Real alert') not null cnstrnt_alert check (Alert_Accuracy in ('Real alert','False Positive')) 
, SI_number varchar2(10) default ('NULL') 
, Customer_Type varchar2(15) default ('Direct') not null cnstrnt_type check (Customer_Type in ('Total Care','Direct','SaaS','Local')) 
, Resolved varchar2(20) default ('No') cnstrnt_yes2 check (Resloved in('Yes','No','Cleared Itself')) 
, in_ERD varchar2(10) default ('Yes') cnstrnt_yes check (In_ERD in('Yes','No')) 
, In_XLS varchar2(10) default ('Yes') cnstrnt_yes check (In_XLS in('Yes','No')) 
, Actions_Taken varchar2(10) default ('No') cnstrnt_yes check (Actions_Taken in('Yes','No')) 
, Notes varchar2(800) 
, Root_cause varchar2(200) not null 
, Can_be_prevented varchar2(10) default ('No') cnstrnt_yes check (Can_be_prevented in('Yes','No')) 
, log varchar2(1800) 
) 

,但我得到

Error at Command Line:14 Column:27 Error report: SQL Error: ORA-00907: missing right parenthesis 00907. 00000 - "missing right parenthesis" *Cause:
*Action:

我計算右側和左側paranthesis並得到83在這兩種情況下 任何想法? 感謝

+0

爲什麼要將可選列默認爲'NULL'(這是一個四字符字符串)? – APC 2012-08-08 13:02:05

+0

這是一個微不足道的語法錯誤。請仔細閱讀您的代碼,而不是在SO上發佈它。編譯器甚至會給你看一行 - 'line 14'。 – APC 2012-08-08 13:04:00

回答

5

更改...
- , Data_Center varchar2(10) cnstrnt_dc check

要...
- , Data_Center varchar2(10) constraint cnstrnt_dc check


注:你似乎有constraint關鍵字失蹤幾個地方。

+0

感謝您的幫助:) – sdblepas 2012-08-08 11:22:41

+0

@sdblepas:您也多次使用相同的約束名稱('cnstrnt_yes'),並且腳本中有錯字('Resloved')。如果這個答案解決了你的問題,一定要接受它。 – 2012-08-08 11:24:11

+0

好吧,我也有其他錯誤,我用同一個名字約束幾次:) – sdblepas 2012-08-08 11:33:44