为以下条件创建 table

Create a table for following condition

待解题条件:

我尝试做的代码是

create table article ( 
    ArCode CHAR(5),
    ArName VARCHAR(30) NOT NULL , 
    Rate Number(8,2) , 
    Quantity NUMBER(4) CHECK (Quantity>0) DEFAULT 0 ,
    Class CHAR(1)
);

我无法解决第一个条件,所以最后一个条件缺少右括号

我会翻译你的要求如下:

CREATE TABLE article ( 
    ArCode   CHAR(5) PRIMARY KEY CHECK(ArCode like 'A%'), 
    ArName   VARCHAR(30) NOT NULL, 
    Rate     NUMERIC(8,2),
    Quantity NUMERIC(4) DEFAULT 0 CHECK (Quantity >= 0),
    Class    CHAR(1) CHECK(Class in ('A', 'B', 'C'))
);

对原始代码的更改:

  • 你想要 NUMERIC 而不是 NUMBER

  • ArCode 必须声明为 PRIMARY KEY,并且需要一个检查约束来强制执行“必须以 A 开头”的要求

  • Quantity 上的检查约束应该允许 0 值(这是默认值!)

  • Class 需要对允许值列表进行检查约束