我試圖爲表格Staff自動排序的主鍵。Oracle數據庫觸發語法
輸入:
CREATE SEQUENCE staff_idseq START WITH 1 INCREMENT BY 1 MAXVALUE 9999;
CREATE TABLE Staff
(
staffid number(4) not null primary key,
name varchar2(21) not null unique,
permission varchar2(10) not null
);
CREATE OR REPLACE TRIGGER staff_idtrig
BEFORE INSERT ON Staff
FOR EACH ROW WHEN (new.staffid is null)
BEGIN
SELECT staff_idseq.nextval INTO :new.staffid FROM dual;
END;
但是當我加載此,創建序列,並表後,它要求我輸入更多命令,如果我忘了就行的末尾添加分號。也許有我查詢了一些錯誤,但我找不到什麼錯誤是我做的,因爲我無法從輸入提示脫身,而無需使用Ctrl + C。
如果您是在Oracle 12.1或更高版本,你可以生成定義STAFFID'數(4)作爲identity'或設置一個序列作爲一個缺省值。 –