我被要求为表中的属性添加约束,以便属性的值应该是介于0和1之间的浮点数。据我所知,float(a,b)不在此处任务.....除了在Oracle中为此问题编写触发器之外,还有一种更简单的方法吗?
答案 0 :(得分:0)
是使用检查约束。
SQL> alter table test modify id check (id between 0 and 1);
Table altered.
SQL> insert into test values (1.0);
1 row created.
SQL> insert into test values (1.01);
insert into test values (1.01)
*
ERROR at line 1:
ORA-02290: check constraint (SYS.SYS_C0013632) violated
如果需要,可以命名检查约束:
SQL> alter table test modify id constraint id_between_0_1 check (id between 0 and 1);
Table altered.
SQL> insert into test values (1.01);
insert into test values (1.01)
*
ERROR at line 1:
ORA-02290: check constraint (SYS.ID_BETWEEN_0_1) violated