1.创建生成流水号的数据维护表
create table SEQT ( name VARCHAR2(20) not null, val NUMBER(10) not null )
2.插入初始化数据
INSERT INTO seqt VALUES('one',100); INSERT INTO seqt VALUES('two',1000);
3.创建函数以生成序列号
CREATE OR REPLACE FUNCTION seq(seq_name varchar2) return number is pragma AUTONOMOUS_TRANSACTION; seq_maxValue number:=0; begin UPDATE seqt SET val=(select MAX(val)+1 from seqt where name=seq_name) where name=seq_name; commit; select max(val) into seq_maxValue from seqt where name=seq_name; return seq_maxValue; end;
4.测试
select seq('one'),seq('one'),seq('two'),seq('two') from dual;
参考:http://hudeyong926.iteye.com/blog/894823
遇到问题:
ORA-14551:无法在查询中执行DML操作的解决方法
加入:PRAGMA AUTONOMOUS_TRANSACTION
相关推荐
C#调用Oracle自定义类型存储过程,Oracle存储入参为type类型,对于不熟悉Oracle朋友,可以参考来调用。实现思路和正常调MSSQL一样,先建立连接,再定义一个IOracleCustomType的类,然后Oracle.DataAccess.dll的...
Oracle 自定义日期函数 Oracle 日期处理函数是数据库管理系统中非常重要的一部分,最近看到有人在做 T-SQL 与 PL/SQL 的转化,问了些有关时间函数的处理。在 PL/SQL 中,Oracle 提供了其他的方法来处理日期函数,...
oracle 实现自增;使用sequence,和trigger实现表字段自增
### Oracle建立自增主键 在Oracle数据库管理中,创建自增主键是一种常见的需求,尤其是在需要自动为表中的每一行记录分配一个唯一标识符的情况下。本文将详细介绍如何利用Oracle提供的`SEQUENCE`和`TRIGGER`来实现...
oracle 数据库主键自增脚本 --第一步,创建表 --第二步,创建自增序列 --第三步,创建触发器
在 Oracle 数据库中,与许多其他关系型...这种方法适用于那些需要自动生成唯一标识符的情况,比如主键或业务流水号。需要注意的是,虽然这种方法很实用,但在高并发环境下可能需要考虑序列值的并发问题,以及性能优化。
3、兼容性与灵活性: 适用于各种 Oracle 数据库环境,无论是本地部署还是云数据库,均可无缝集成,满足不同场景需求。 4、详尽注释文档: 提供了完整的函数代码及详细的注释说明,便于用户快速理解与应用,同时降低...
### ORACLE自增主键设置方法 在Oracle数据库中,自增主键是一种常见的主键设计方式,它能够确保每条记录的唯一性,并且在插入新记录时自动递增,简化了数据管理流程。本文将详细介绍如何在Oracle中设置自增主键。 ...
oracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txtoracle创建自增列.txt
Oracle 实现属性的自增 Oracle 数据库中实现属性的自增是通过序列和触发器来实现的。当给表中插入数据时触发触发器,触发器从序列中得到相应的数值放入相应的位置,这样实现属性的自增。 知识点一: Oracle 中没有...
Oracle 自定义聚合函数-分析函数 Oracle 自定义聚合函数是一种强大且灵活的功能,允许用户根据自己的需求创建自定义的聚合函数。聚合函数是一种特殊的函数,它可以对一组数据进行处理和计算,并返回一个结果。 ...
Oracle 创建自增字段方法-ORACLE SEQUENCE 的简单介绍 Oracle SEQUENCE 是一种特殊的数据库对象,用于生成一系列唯一的数值,通常用于主键或其他需要唯一标识的字段。下面将详细介绍 Oracle 创建自增字段方法-...
综上所述,Oracle虽然不像某些数据库那样提供直接的主键自增功能,但通过序列、触发器等工具,可以灵活地创建满足需求的自增主键。在设计数据库时,应考虑性能、并发控制和最佳实践,确保系统的稳定性和高效性。
### Oracle插入数据时获取自增ID 在Oracle数据库中,当需要实现类似其他数据库系统(如MySQL、SQL Server等)中的自动增长字段功能时,通常会采用序列(sequence)和触发器(trigger)来实现这一需求。下面将详细...
### Oracle 自定义函数详解 #### 一、概述 在Oracle数据库中,自定义函数是一种非常实用的功能,可以让我们根据特定需求编写SQL代码块,并将这些代码块封装为可重用的函数。通过这种方式,不仅可以提高代码的复用...
在Oracle数据库中,主键自增是一种常见的设计方式,它使得每条新插入的数据自动获得一个唯一的标识符。以下是对创建和使用Oracle主键自增的相关知识点的详细说明: 1. **创建表并定义主键**: 当我们创建表时,...
### 如何实现Oracle主键自增,通过写sequence和触发器 在Oracle数据库中实现主键自增功能可以通过创建序列(sequence)与触发器(trigger)相结合的方式实现。这种方式不仅能够确保数据表中的主键唯一性,还能自动递增...
在 Oracle 数据库中,自定义函数是一种非常重要的特性,允许用户根据需求创建自己的功能模块,以扩展数据库的内置功能。本文将详细讲解如何创建、调用和管理自定义函数,以及讨论它们在实际应用中的优缺点。 一、...