Tôi đang tạo bảng nơi tôi sẽ thêm tên tệp và nhiều trường khác. Tôi đã sử dụng một cột fileid để đại diện cho các tập tin theo thứ tự tuần tự; tức là tệp đầu tiên được tải lên phải có fieldid 1, thì tệp tiếp theo sẽ có tệp 2 và cứ tiếp tục như vậy. Tôi sử dụng một chuỗi và kích hoạt:Sử dụng trình tự trong khi thêm và xóa khỏi bảng
create sequence create_file_id start with 1 increment by 1 nocache;
Trigger là:
before insert on add_files_details
for each row
begin
select create_file_id.nextval into :new.file_id from dual;
end;
Nhưng, nếu bất cứ hồ sơ/hồ sơ được/bị xóa khỏi bảng, sau đó trình tự được lộn xộn. Vì vậy, tôi đang nghĩ đến việc sử dụng một trình tự khác với trình kích hoạt để giảm giá trị của chuỗi trước đó bằng số hàng đã bị xóa. Nhưng tôi bị mắc kẹt trong việc thực hiện kích hoạt của chuỗi này.
trình tự:
create sequence del_file_id increment by -1 nocache;
Bất kỳ cách nào để đạt được điều này?
Có thể có một số cách để làm điều này, nhưng tốt nhất là một cách phức tạp để thực hiện điều gì đó có giá trị nghi ngờ và tồi tệ nhất lỗi, chậm và không đáng tin cậy. Đã ở đó, làm điều đó, hối hận.Tôi đề nghị bạn xem xét lại. –