我試圖在Oracle 11g Express和SQL Developer中執行類似自動遞增的操作。 我對甲骨文知之甚少,而且我也是觸發器的新手。在Oracle Express中創建觸發器
我試着運行這個,但我不知道如何正確地做到這一點。
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;
/
當我嘗試創建觸發器時,出現一個屏幕,詢問我是否有一些「綁定」。 該對話框只有一個複選框「null」。這是什麼意思,以及如何使 一個正常工作的腳本?
做這種「自動增量」時要採取什麼預防措施?
我添加了SQL-Developer標籤,因爲這段代碼看起來很好;這是要求你填寫一個綁定變量,所以我認爲有一些設置你必須關閉......我不知道什麼。 – Ben
順便說一句,從Oracle 11開始,你可以直接引用一個序列。這意味着你可以在不使用SELECT的情況下編寫':new.id:= test1_sequence.nextval'。 – Ben
同樣的問題在這裏!感謝您的發佈! –