Trong SqlServer, ta dễ dàng tạo được trường tự tăng bằng cách đặt thuộc tính identity cho column. Nhưng trong oracle thì không hỗ trợ. Để thực hiện được trước tiên ta tạo một sequence:
create sequence test_seq start with 1 increment by 1 nomaxvalue;
Giả sử ta có bảng như sau:
create table test (id number, testdata varchar2(255));
Khi insert dữ liệu vào thì thực hiện như sau:
insert into test(id, testdata) values(test_seq.nextval, 'tek');
Để thực hiện insert ngầm định giá trị của test_seq vào id mà không cần chỉ định tường minh như ở trên, ta sử dụng trigger:
create trigger test_trigger before insert on test for each row begin select test_seq.nextval into :new.id from dual; end;
Khi đó khi insert dữ liệu ta chỉ cần viết như sau:
insert into test(testdata) values('tek');Khi trích dẫn bài viết từ tek.eten.vn, xin vui lòng ghi rõ nguồn. Chúng tôi sẽ rất cảm ơn bạn!