繁体   English   中英

错误 ORA-00907:CREATE TABLE ARTICLE 中缺少右括号

[英]ERROR ORA-00907: missing right parenthesis IN CREATE TABLE ARTICLE

以下是我使用的查询,但出现错误

ORA-00907: 缺少右括号

代码:

CREATE TABLE Article
(
    ArCode CHAR(5) LIKE 'A%' PRIMARY KEY,
    ArName VARCHAR2(30) NOT NULL,
    Rate NUMBER(8,2),
    Quantity NUMBER(4) DEFAULT 0 CHECK(Quantity >= 0),
    Class CHAR(1) LIKE '[A-C]'
)

您的代码中还有更多问题。 我认为以下语句是您想要的:

CREATE TABLE Article
(
    ArCode   CHAR(5) check (arcode LIKE 'A%') PRIMARY KEY,
    ArName   VARCHAR2(30) NOT NULL,
    Rate     NUMBER(8, 2),
    Quantity NUMBER(4) DEFAULT 0 CHECK(Quantity >= 0),
    Class    CHAR(1) check (class in ('A', 'B', 'C'))
);

您还应该更正 Class 列的检查约束。 更好的解决方案是为您的 class 值创建一个表,而不是检查约束,您可以使用外键。

请使用一些自动突出显示问题的工具。

在您的示例中,问题缺少检查约束的CHECK关键字。

使用以下:

CREATE TABLE article
( arcode CHAR(5) check (arcode LIKE 'A%') PRIMARY KEY, -- change in this line
ArName VARCHAR2(30) NOT NULL, 
Rate NUMBER(8,2), 
Quantity NUMBER(4) DEFAULT 0 CHECK(Quantity >= 0),  -- change in this line
class char(1) check (class LIKE '[A-C]'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM