首先,創建一張表:
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 | 李四 |