plsql創建表后不能直接讓id遞增,因此要手動創建,下面是例子:
1.創建表
SQL:
create table student(
id number primary key,
name varchar2(20)not null,
age int
);
2.創建一個序列
SQL:
CREATE SEQUENCE student_id_seq
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數
NOMAXVALUE -- 不設置最大值
NOCYCLE -- 一直累加,不循環
NOCACHE -- 不建緩沖區
3.創建一個觸發器
SQL:
create trigger student_trig before
insert on student for each row when (new.id is null)
begin
select student_id_seq.nextval into:new.id from dual;
end;
因為plsql和mysql等其他數據庫不相同,上面的三個步驟,一步都不能少,單單有表和序列還是不能實現,還要寫一個觸發器來執行它,才能真正成功,下面就可以插入數據了
SQL:
insert into student(name,age) values('jack',12);