oracle用触发器实现插入记录序列自增长(也可以指定记录序号)
2015-08-18 08:57
615 查看
create or replace trigger temp_trigger before insert on temp for each row declare interval_id number(16); begin if :new.id is null then select min(new_id) into interval_id from (select bb+1 new_id from (select id , lag(id,1,0) over(order by id) bb from temp) where id-bb>1); if interval_id is not null then :new.id := interval_id; else -- select temp_seq.nextval into temp_id from dual; -- :new.id := temp_id; select max(id) into interval_id from temp; :new.id := interval_id+1; end if; end if; end temp_trigger; /
相关文章推荐
- Win764位操作系统Oracle的问题
- oracle拆分逗号分隔字符串 实现split
- SQL Server 与 Oracle数据类型映射
- db2 如何 将 oracle CONNECT BY 移植到 DB2
- WebServers发布提示oracle客户端模式不一致
- Oracle Coherence中文教程二十:预加载缓存
- Oracle Coherence中文教程十九:使用便携式对象格式
- Oracle Coherence中文教程十八:序列化对象
- Oracle Coherence中文教程十五:序列化分页缓存
- Oracle Coherence中文教程十四:缓存数据来源
- Oracle Coherence中文教程十三:实施存储和备份的Map
- Oracle Coherence中文教程十二:配置高速缓存
- Oracle Coherence中文教程十:调整TCMP行为
- Oracle Coherence中文教程九:动态管理群集成员
- Oracle Coherence中文教程八:启动和停止群集成员
- Oracle Coherence中文教程六:Coherence集群简介
- Oracle Coherence中文教程五:Coherence调试
- Oracle Coherence中文教程四:构建一个Coherence 应用
- Oracle Coherence中文教程三:配置
- Oracle Coherence中文教程二:安装Oracle Coherence