首先,創建一張表:
CREATE TABLE example(
ID Number(4) NOT NULL PRIMARY KEY,
NAME VARCHAR(25));
然后,自定義一個序列(sequence):
CREATE SEQUENCE example_sequence
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數
NOMAXVALUE -- 不設置最大值
NOCYCLE -- 一直累加,不循環
NOCACHE -- 不建緩沖區
再創建一個觸發器:
CREATE TRIGGER example_triger BEFORE
INSERT ON example FOR EACH ROW WHEN (new.id is null)--只有在id為空時,啟動該觸發器生成id號
begin
select example_sequence.nextval into: new.id from dual;
end;
測試一下,插入數據
insert into example(name) values('張三');
insert into example(id, name) values(111,'李四');
輸入查詢語句:
select t.* from EXAMPLE t
結果是:
id | name |
1 | 張三 |
111 | 李四 |