有一个比较初步的办法,可以参考一下:
CREATE OR REPLACE TRIGGER "ID_ADD_ONE"
BEFORE INSERT ON "TABLE1" FOR EACH ROW
DECLARE
TMPVAR NUMBER;BEGIN
SELECT MAX(TAB.NUM) INTO TMPVAR FROM [USER_NAME].TABLE1 TAB;
IF TMPVAR IS NULL THEN
:NEW.NUM:=0;
ELSE
:NEW.NUM:=TMPVAR+1;
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
可以先做一个表:TABLE1,表中有字段NUM就可以了。
CREATE OR REPLACE TRIGGER "ID_ADD_ONE"
BEFORE INSERT ON "TABLE1" FOR EACH ROW
DECLARE
TMPVAR NUMBER;BEGIN
SELECT MAX(TAB.NUM) INTO TMPVAR FROM [USER_NAME].TABLE1 TAB;
IF TMPVAR IS NULL THEN
:NEW.NUM:=0;
ELSE
:NEW.NUM:=TMPVAR+1;
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
可以先做一个表:TABLE1,表中有字段NUM就可以了。
create sequence myseq;
create trigger mytrig
before insert on mytable
for each row
begin
select myseq.nextval into :new.id;
end;
/
不过KingSunSha(弱水三千) 的方法是最优的.