一般的mysql sqlserver都有自增id,开发的时候很多好使用,但是oracle没有自增id,需要自己实现
1)创建表
2)创建sequence
3)创建触发器
create table WANG_TEST
(
ID NUMBER(2) not null,
USERNAME NVARCHAR2(20) not null,
AGE NUMBER(11) not null
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
创建seq
CREATE SEQUENCE SEQ_WANG_TEST_ID MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE;
创建触发器
CREATE TRIGGER TRG_WANG_TEST_ID
BEFORE INSERT ON WANG_TEST
FOR EACH ROW
BEGIN
SELECT SEQ_WANG_TEST_ID.NEXTVAL INTO :new.ID FROM DUAL;
END;
insert into wang_test(USERNAME,age)values('wang',20);
注意的是:new.id new是小写的,我一般sql使用大写,怎么创建触发器都报错 old也是小写 insert使用:new delete 使用:old