【问题标题】:missing right parenthesis in create table创建表中缺少右括号
【发布时间】:2023-04-08 14:44:01
【问题描述】:

我搜索了论坛,但没有找到正确的答案,对不起,如果我重复发帖 我想创建这个表

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)
)

但我明白了

命令行错误:14 列:27 错误报告:SQL 错误:ORA-00907: 缺少右括号 00907. 00000 - “缺少右括号” *原因:
*行动:

我计算左右括号并在两种情况下都得到 83 任何的想法? 谢谢

【问题讨论】:

  • 为什么要将可选列默认为“NULL”(这是一个四字符字符串)?
  • 这是一个微不足道的语法错误。请更仔细地浏览您的代码,而不是将其发布在 SO 上。编译器甚至为您提供了可以查看的行 - line 14

标签: sql oracle create-table


【解决方案1】:

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

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


注意:您似乎在多个地方缺少 constraint 关键字。

【讨论】:

  • @sdblepas:您还多次使用相同的约束名称 (cnstrnt_yes),并且您的脚本中有错字 (Resloved)。如果此答案解决了您的问题,请务必接受。
  • 好吧,我还有其他错误,我多次为一个约束使用相同的名称:)
  • @PeterLang 我刚看到你的评论:) 谢谢
猜你喜欢
  • 2020-02-07
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-15
  • 2013-04-02
相关资源
最近更新 更多