有一个比较初步的办法,可以参考一下:
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就可以了。

解决方案 »

  1.   

    自增是非常容易做到的,但是自动递减,sql server能做到吗?
      

  2.   

    to qsqwmy(禽兽) :有简洁一些的写法么?在ORACLE中的,我以前看过这个触发器的写法,好象只有一行.
      

  3.   

    create table mytable (id number(10));
    create sequence myseq;
    create trigger mytrig
     before insert on mytable
     for each row
    begin
     select myseq.nextval into :new.id;
    end;
    /
      

  4.   

    http://expert.csdn.net/Expert/topic/1188/1188814.xml?temp=.2992212
      

  5.   

    我也强烈同意‘蓝屏’!
    不过KingSunSha(弱水三千) 的方法是最优的.