我正在尝试使用SQL创建表。我希望我的主键 -ArCode 以字母'A'开头。我使用了 check 和 like 的组合,但无济于事。
这是我的查询:
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'))
);
执行查询时,出现右括号缺失错误。我无法弄清楚。
答案 0 :(得分:2)
您的错误与数量列的定义有关。对此进行注释,或仅对其进行修复以使默认值出现在检查约束之前,以使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'))
);