Tôi đã cố gắng thực hiện điều gì đó như tự động tăng trong Oracle 11g Express và SQL Developer. Tôi biết rất ít về Oracle và tôi cũng mới để kích hoạt.Tạo trình kích hoạt trong Oracle Express
Tôi đã thử chạy tính năng này, nhưng tôi không biết cách thực hiện đúng cách.
CREATE TABLE theschema.thetable
(id NUMBER PRIMARY KEY,
name VARCHAR2(30));
CREATE SEQUENCE theschema.test1_sequence
START WITH 1
INCREMENT BY 1;
create or replace trigger insert_nums
before insert on theschema.thetable
for each row
begin
select test1_sequence.nextval into :new.id from dual;
end;
/
Khi tôi cố gắng tạo trình kích hoạt, tôi nhận được màn hình yêu cầu tôi "gắn". Hộp thoại chỉ có một hộp kiểm "null". Điều này có ý nghĩa gì và làm cách nào để tôi thực hiện một tập lệnh hoạt động chính xác?
Bất kỳ biện pháp phòng ngừa nào trong khi thực hiện loại "tự động tăng" này?
Tôi đã thêm thẻ Nhà phát triển SQL, vì mã này trông ổn; Nó yêu cầu bạn điền vào một biến ràng buộc vì vậy tôi giả sử có một số thiết lập bạn phải tắt ... Tôi không có ý tưởng gì mặc dù. – Ben
BTW, từ Oracle 11 trở đi bạn có thể tham chiếu một chuỗi trực tiếp. Điều này có nghĩa là bạn có thể viết ': new.id: = test1_sequence.nextval' mà không sử dụng lệnh SELECT. – Ben
Cùng một câu hỏi ở đây! Cảm ơn bài đăng của bạn! –