Oracle Primary Key AUTO-INCREMENT



如果我想在Oracle SQLDeveloper上创建一个表,并在主键中放入一个总是以"c"开头的varchar后面跟着9个自动递增的数字,我怎么能呢?

例子:C0000000001

你可以这样做:

create table test_table (
id                             VARCHAR2(30) 
constraint test_table_id_pk primary key
)
;

-- triggers
create or replace trigger test_table_biu
before insert
on test_table
for each row
begin
:id := 'c'||LPAD(test_table_seq.NEXTVAL,9,0);
end test_table_biu;
/

请注意,当序列达到10位数时,由于重复的值,它将开始失败(它将切断额外的数字)。

最新更新