在SQL Server以及MySql中都有相應的自動增長列類型,而Oracle中則沒有此類型,那如果要實現自動增長列需要怎么辦呢.
我們可以利用序列來實現.插入數據時候,可以像sql以及mysql一樣,不用顯示指定需要自動增長的列的值.
代碼實現如下:
CREATE TABLE SYS_ROLES (
ID integer NOT NULL,--我們需要ID自增長
NAME varchar2 (50) NULL,
CODE varchar2 (50) NULL,
DESCN varchar2 (400) NULL)
建立序列對象(簡單)
create sequence SYS_ROLES_seq
建立觸發器,實現自動增長.
create or replace trigger tri_SYS_ROLES
before insert on SYS_ROLES
for each row
begin
select SYS_ROLES_seq.nextval into :new.ID from dual;
end tri_SYS_ROLES
則,我們在插入數據時,可以以我們的習慣來操作: 如
INSERT into SYS_ROLES (ID,NAME,CODE,DESCN) VALUES ( 1,'系統管理員','ROLE-001','系統管理員');