在使用Sql Server时,为了使得每条记录不会重复,加入了一个自增字段,并且将其设为主键。现在放开这样做的优劣。单单只说实现问题。
在用Oracle时,出现了这样一个状况,添加模块时,只传入了一个模块名称,而表中还有一个模块ID,这个ID设定的是自增。但是在Oracle中没有字段自增这个功能。但是可以通过自己写序列、触发器来实现这样的一个功能。
先说一下自增这个功能:自增,无非就是在插入的时候,自增的字段按照某种序列实现自动加一并且赋值。那么我们就再Oracle中创建一个序列,并且创建一个触发器,使其在插入的时候,序列自增1并且对自增字段进行赋值。
我用的是PL/SQL进行的可视化创建。
创建序列:
Name:序列的名字
Min Value:最小计数
Max Value:最大计数
Star with:从几开始
Increment by:步长
Cache Size:缓存序列
指定Cache,oracle会预先在内存中防止一组指定大小的序列,当使用完这些后再生成下一组,这样会存取的快些,但当数据库关闭等情况时,下一次再生成序列时可能会使序列间断,不是遗传连续的号,当不是特别需要连续的序列时,最好