首先,为了清楚起见,您不要在PL/SQL中创建序列.您只能在SQL中创建序列.
其次,如果你想要一个列只存储三个数字,你需要数据类型VARCHAR2(或其他一些字符串类型)而不是更常见的,NUMBER因为NUMBER根据定义,它不存储前导零.当然,你可以这样做,但这很不寻常.
也就是说,您可以使用"fm009"格式掩码从数字序列生成一个正好有3个字符的字符串(需要"fm"位以确保您不会获得额外的空格 - 您可以TRIM使用TO_CHAR也可以调用并省去掩码的"fm"位.
SQL> create table t( col1 varchar2(3) );
Table created.
SQL> create sequence t_seq;
Sequence created.
SQL> ed
Wrote file afiedt.buf
1 insert into t
2 select to_char( t_seq.nextval, 'fm009' )
3 from dual
4* connect by level <= 10
SQL> /
10 rows created.
SQL> select * from t;
COL
---
004
005
006
007
008
009
010
011
012
013
10 rows selected.
Run Code Online (Sandbox Code Playgroud)