使用主键以 'A' 开头的 SQL 创建 Table

Create Table using SQL with primary key starting with 'A'

我正在尝试使用 SQL 创建一个 table。我希望我的 主键 - ArCode 以字母 'A' 开头。我使用了 checklike 的组合,但无济于事。

这是我的查询:

Create table Article(
ArCode Char(5) Check (ArCode LIKE 'A%') Primary Key,
ArName Varchar2(30) Not Null,
Rate Number(8,2),
Quantity Number(4) Check (Quantity >=0) Default 0,
Class Char(1) Check (Class In ('A','B','C'))
);

当我执行查询时,出现 缺少右括号 错误。我想不通。

您的错误与“数量”列的定义有关。注释掉它,或者只是修复它,使默认值出现在检查约束之前,允许 create table 语句到 运行 就好了:

Create table Article(
  ArCode Char(5) Check (ArCode LIKE 'A%') Primary Key,
  ArName Varchar2(30) Not Null,
  Rate Number(8,2),
--  Quantity Number(4) Check (Quantity >=0) Default 0,
  Quantity Number(4)  Default 0 Check (Quantity >=0),
  Class Char(1) Check (Class In ('A','B','C'))
);