小编DeS*_*Ond的帖子

在表中添加和删除时使用序列

我正在创建一个表格,我将添加文件名和许多其他字段.我使用fileid列按顺序表示文件; 即要上传的第一个文件应该有fieldid 1,然后下一个文件将有fileid 2,依此类推.我用了一个序列和触发器:

create sequence create_file_id start with 1 increment by 1 nocache;
Run Code Online (Sandbox Code Playgroud)

触发器是:

before insert on add_files_details
for each row
begin
select create_file_id.nextval into :new.file_id from dual;
end;
Run Code Online (Sandbox Code Playgroud)

但是,如果从表中删除任何记录/记录,则序列会混乱.所以,我正在考虑使用另一个带触发器的序列来减少前一个序列的值,删除的行数.但是我坚持实现这个序列的触发器.

序列:

create sequence del_file_id increment by -1 nocache;
Run Code Online (Sandbox Code Playgroud)

有没有实现这个目标?

oracle triggers plsql sequence

5
推荐指数
2
解决办法
1505
查看次数

标签 统计

oracle ×1

plsql ×1

sequence ×1

triggers ×1