如何设置列的最大值

时间:2019-06-14 09:35:57

标签: sql database oracle

我对作业有任何问题,您能帮我吗? :)

  1. 创建表CONTEST,该表将存储有关公司员工下棋比赛的数据。表格中的列:

Empno数字,最多6位(员工编号) 名字文字,最多20个字符 姓氏文字,最多30个字符 开始日期(比赛中比赛的日期) 部门数字,最多3位 得分位数,最高得分为500。

我尝试了以下代码: 分数(3)<= 500 分数(3)在0到500之间

create table contest1
(empno number(6),
firstname varchar2(20),
surname varchar2(30),
startdate date,
department number(3),
score number(3) between 0 and 500)

3 个答案:

答案 0 :(得分:2)

在Oracle中,我们可以使用CHECK约束。您可以提供约束名称和条件。作为参考,我举了一个简单的例子。

尝试一下:

create table contest1
(empno number(6),
firstname varchar2(20),
surname varchar2(30),
startdate date,
department number(3),
score number(3) CHECK (score between 0 and 500))

Demo

干杯!

编辑

包含插入和错误的演示:link

答案 1 :(得分:1)

您需要添加一个约束

create table contest1
(empno number(6),
firstname varchar2(20),
surname varchar2(30),
startdate date,
department number(3),
score number(3) CONSTRAINT score CHECK (score BETWEEN 0 AND 500))

答案 2 :(得分:1)

您的尺寸限制是正确的。如David Weber所述,可以通过检查约束来解决最大值500。如果您想要更复杂的内容(例如,创建日志记录),也可以在插入或更新之前创建触发器并在那里进行检查。