我想创建一个正数(6,2)子类型。 为此,我尝试了:
declare
subtype st_positive_number is number(6, 0) > 0;
v_positive_number positive(6, 2);
begin
null;
end;
,但以上尝试均无效。 有人可以帮忙吗?
答案 0 :(得分:4)
您需要用范围来约束子类型,并想将该子类型分配给变量,例如:
declare
subtype st_positive_number is PLS_INTEGER RANGE 0..999999;
v_positive_number st_positive_number;
begin
v_positive_number := 999999;
end;
/
答案 1 :(得分:1)
您将如何使用它?如果要创建一个表,该表的列仅接受正数,则创建一个检查约束,例如
SQL> create table test (id number constraint ch_pos check (id > 0))
Table created.
SQL> insert into test (id) values (100);
1 row created.
SQL> insert into test (id) values (-100);
insert into test (id) values (-100)
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.CH_POS) violated
如果这不是您想要的,请您进一步解释一下吗?