0
我被要求为表中的一个属性添加一个约束,以便该属性的值应该是0到1之间的浮点数。据我所知,float(a,b)不是用于任务.....除了在Oracle中为此问题编写触发器之外,还有更简单的方法吗?有没有办法定义一个值的范围而不使用触发器?
我被要求为表中的一个属性添加一个约束,以便该属性的值应该是0到1之间的浮点数。据我所知,float(a,b)不是用于任务.....除了在Oracle中为此问题编写触发器之外,还有更简单的方法吗?有没有办法定义一个值的范围而不使用触发器?
是使用检查约束。
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