我对作业有任何问题,您能帮我吗? :)
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)
答案 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))
干杯!
编辑
包含插入和错误的演示: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。如果您想要更复杂的内容(例如,创建日志记录),也可以在插入或更新之前创建触发器并在那里进行检查。