日期:2014-05-17  浏览次数:21080 次

oracle数据库表中某自段如何设置为自增字段呢?
oracle数据库表中某自段如何设置为自增字段呢?谢谢各位高手了,刚用ORACLE,所以不懂,请高手指点啊!

------解决方案--------------------
使用自增列是MSSQL的习惯,在Oracle中通常用sequence对象来获取序列号。
但是两者有一定区别。sequence的性能自然是顶呱呱,使用也很简便,但是无法保证序号的连续性。
如果你非得实现和MSSQL一样的功能,建议写一个触发器。
------解决方案--------------------
先建序列,然后建立一个触发器实现!
cata0是表名,cata0_id是需要自增的字段!
CREATE SEQUENCE SEQ_cata0
INCREMENT BY 1
START WITH 1
MAXVALUE 9999999

CREATE TRIGGER TRG_cata0 BEFORE
INSERT ON cata0
FOR EACH ROW begin
SELECT SEQ_cata0.NEXTVAL
INTO :NEW.cata0_ID
FROM DUAL;
End TRG_cata0;