oracle中的自动增加使用sequence来实现:--建一个序列: create sequence seq_name increment by 1 start with 1 maxvalue 99999999999 nocycle cache 10--在触发器或对表执行插入的时候使用: insert into table(id,name) values(seq_name.nextval,'OKOK');
同意dinya2003(OK) ( )oracle 没有自增加的. 要用sequence
1.建立测试数据表 CREATE TABLE TEST ( ID NUMBER, NAME VARCHAR2(20), PRIMARY KEY(ID) );2.创建序列 CREATE SEQUENCE SEQ_TEST;3.创建触发器 CREATE OR REPLACE TRIGGER AUTOINCREMENT BEFORE INSERT ON TEST FOR EACH ROW WHEN (NEW.ID IS NULL) BEGIN SELECT SEQ_TEST.NEXTVAL INTO :NEW.ID FROM DUAL; END; 老是不成功。触发器的状态为无效
create sequence seq_name
increment by 1
start with 1
maxvalue 99999999999
nocycle
cache 10--在触发器或对表执行插入的时候使用:
insert into table(id,name) values(seq_name.nextval,'OKOK');
要用sequence
CREATE TABLE TEST
(
ID NUMBER,
NAME VARCHAR2(20),
PRIMARY KEY(ID)
);2.创建序列
CREATE SEQUENCE SEQ_TEST;3.创建触发器
CREATE OR REPLACE TRIGGER AUTOINCREMENT
BEFORE INSERT ON TEST
FOR EACH ROW
WHEN (NEW.ID IS NULL)
BEGIN
SELECT SEQ_TEST.NEXTVAL INTO :NEW.ID FROM DUAL;
END;
老是不成功。触发器的状态为无效