我们常常在表中需要插入一些自动增长的值;
一方面,我们可以手动添加这些值,
另一方面,oracle提供的sequence可以帮助我们实现插入的值自动增长,
而不需要我们手动的提供值,我们需要做的就是设置好sequence的初值和增长值即可。
关于序列的定义和参数设置,
请参考:http://blog.youkuaiyun.com/BOBO12082119/archive/2011/01/08/6124597.aspx
下面是一个实例:
1.在insert语句中,直接使用sequence.nextval引用;
注意:在首次引用定义好的sequence时,必须先引用nextval,否则你会得到下面的错误:
2.通过before insert触发器
每一次向表中添加值时,都触动此触发器,自动为这个insert语句加上一个sequence值.
sequence有两个伪列:currval和nextval.
currval:引用当前的sequence值,
nextval:引用下一个sequence值.
那么currval和nextval可以引用在那些场合呢?那些场合又不适合用此二值呢?
本文介绍了如何在Oracle数据库中使用序列(sequence)实现自动增长字段。包括序列的基本定义、参数设置及两个实际应用场景:直接在INSERT语句中使用NEXTVAL以及通过BEFORE INSERT触发器自动填充。此外还详细解释了CURRVAL和NEXTVAL的区别及其适用场景。

2659





