sql - 使用以“A”开头的主键的 SQL 创建表
问题描述
我正在尝试使用 SQL 创建一个表。我希望我的主键 - ArCode以字母'A'开头。我使用了检查和喜欢的组合,但无济于事。
这是我的查询:
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'))
);
当我执行查询时,我得到一个缺少右括号的错误。我无法弄清楚。
解决方案
您的错误在于 Quantity 列的定义。将其注释掉,或者只是修复它以使默认值出现在检查约束之前允许 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'))
);
推荐阅读
- java - 如何在 java 网络中使用 ObjectInbputStreem 修复 java EOFException
- ios - 在 Mac Catalyst App 中将键盘操作连接到 UIButton 操作
- java - 两个数的 Java Gui 和
- ansible - 仅当服务存在时,我如何采取行动?
- ansible - Ansible,计算字符串中单词的出现次数
- sql - 在 sql 中使用 convert() 时 XML 输入字符串被截断
- windows - 在 PowerApps 中如何配置表单中子网格组件的内联查找
- r - 为什么基本的 R `print()` 函数需要一个 tibble?
- python - 如何在for循环中为二维数组赋值
- github - 如何在 Github 操作中检查头分支是否与分支拉取请求中的特定模式匹配