我正在创建一个表,我将在其中添加文件名和许多其他字段。我使用 fileid 列按顺序表示文件;即要上传的第一个文件的fieldid 应该是1,然后下一个文件的fileid 应该是2,依此类推。我使用了序列和触发器:
create sequence create_file_id start with 1 increment by 1 nocache;
触发器是:
before insert on add_files_details
for each row
begin
select create_file_id.nextval into :new.file_id from dual;
end;
但是,如果从表中删除任何记录/记录,那么序列就会变得混乱。所以,我正在考虑使用另一个带有触发器的序列,将前一个序列的值减少删除的行数。但是我一直在执行这个序列的触发器。
序列:
create sequence del_file_id increment by -1 nocache;
有什么方法可以做到这一点?