使用主键以 'A' 开头的 SQL 创建 Table
Create Table using SQL with primary key starting with 'A'
我正在尝试使用 SQL 创建一个 table。我希望我的 主键 - 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'))
);
当我执行查询时,出现 缺少右括号 错误。我想不通。
您的错误与“数量”列的定义有关。注释掉它,或者只是修复它,使默认值出现在检查约束之前,允许 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'))
);
我正在尝试使用 SQL 创建一个 table。我希望我的 主键 - 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'))
);
当我执行查询时,出现 缺少右括号 错误。我想不通。
您的错误与“数量”列的定义有关。注释掉它,或者只是修复它,使默认值出现在检查约束之前,允许 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'))
);