`

Oracle 直接操作一个字符的自增

阅读更多
新增一条语句,其中一个字段是每个月自增。例如:SP+201311+xxx。后面三位是001,002,003等等。一直自增。到每个月重新开始,又会从001重新自增。

-- Create sequence

--自增序列

create sequence CHARSINCE_SEQU

minvalue 1

maxvalue 999

start with 1

increment by 1

cache 3;

--添加自增的字段

create or replace trigger GMKQ_SUPCLAIMIDENMAIN before

       insert on GMKQ_SUPCLAIMIDENMAIN for each row

declare

v_no varchar2(10);         

begin

  select CHARSINCE_SEQU.nextval into v_no from dual;

  if length(v_no)=1 then

    v_no:='00'||v_no;

  elsif length(v_no)=2 then

    v_no:='0'||v_no;

  end if;

  select 'SP'||to_char(sysdate,'yyyymm')||v_no into :new.CHARGEORDERNUM from dual;

end;
分享到:
评论

相关推荐

    oracle生成动态前缀且自增号码的函数分享

    `to_char`函数在这里起到了关键作用,它将序列值转化为字符串,`FM0000000`表示固定宽度的格式,`FM`(Forced Mode)指示不添加任何前导或尾随空白,对于正数,这里相当于保留了一个空格的位置。 5. **返回结果**:...

    oracle迁移mysql自增序列问题

    在描述中,我们看到一个具体的例子,首先创建了一个名为`test`的MySQL表,包含两个字段:`id`(无符号整型,非空,主键)和`username`(可变长度字符串)。接着,填充了一些预设的数据,并尝试将`id`字段改为自动...

    Oracle常见命令操作.zip

    2. **删除表空间TABLESPACE**:删除表空间是一个需要谨慎操作的过程,因为这将永久性地丢失其中的所有数据。首先需要确保表空间无任何对象,然后可以使用`DROP TABLESPACE`命令进行删除,同时注意回收磁盘空间。 3....

    JPA主键策略(针对数据库自增字段重置后无效检查项)

    这种策略占用空间较大,因为主键是一个字符串类型的字段。uuid策略适用于需要高唯一性的场景,但它占用空间较大。 hilo hilo是一种基于高低位生成主键的策略。这种策略需要在数据库中建立一个额外的表,默 认表名...

    Oracle数据库创建表tuser设置主键自动增长

    本文将详细介绍如何在Oracle环境中创建一个名为`tuser`的表,并实现其主键自动增长的功能。此外,还将介绍如何通过序列(sequence)来管理这个自动增长的主键值。 #### 一、创建表tuser 首先,我们需要定义`tuser`表...

    Oracle数字类型number自增的实现代码

    - 上述代码实现了在`student`表中,当插入新记录时,`id`字段会自动获取`seq_student`序列的下一个值,从而实现自增功能。这种机制确保了每个新插入的记录都有一个唯一的`id`值,且该值按照设定的规则递增。 7. **...

    oracle和db2的区别

    - ROWID是Oracle数据库提供的一个特殊功能,用于唯一标识表中的每一行。 - **DB2**: - DB2 V8版本开始支持类似ROWID的功能。 #### 7. 数字转换 - **Oracle**: - 使用`TO_NUMBER('数字字符串')`来进行字符串到...

    (Enterprise Library)Oracle应用.doc

    然而,当有两个表需要关联,且希望在插入一个表后立即获取自增字段的值时,直接通过`SELECT Test_SQL.currval FROM dual`获取新值是行不通的,因为`currval`只能在同一个会话中调用`nextval`之后使用。为解决这个...

    Oracle 创建主键自增表示例代码

    本篇文章将详细介绍如何在Oracle中创建一个主键自增的表,并提供相应的示例代码。 首先,我们需要创建一个序列,这个序列将用于生成唯一的自增ID。序列是Oracle中的一种特殊对象,它能够按照预定的规则(如递增或...

    Oracle数据库试题题(附答案).pdf

    在Oracle中,序列(sequence)用于生成一系列唯一的数字,常见的操作有序列的当前值(CURRVAL)和下一个值(NEXTVAL)。序列通常被用在主键字段的自增上。 6. Oracle的字符转换函数: 在Oracle中,字符转换函数如...

    Oracle中常用SQL语法和数据对象.doc

    Oracle是世界上最广泛使用的数据库管理系统之一,它提供了丰富的SQL语法和数据对象来支持高效的数据管理和处理。本文将深入探讨Oracle中的SQL语法和数据对象。 一、数据控制语言(DML) 1. 插入(INSERT):INSERT...

    oracle向达梦数据库迁移

    Oracle12C 向达梦8(DM8)迁移是一个涉及多个步骤的技术过程,主要目的是将现有的Oracle数据库系统顺利地转换到达梦数据库平台,以利用其特定的优势或满足特定的业务需求。以下是对这个迁移过程的详细说明: 一、...

    oracle函数大全中文api文档

    NEXTVAL和CURRVAL用于获取序列的下一个和当前值,序列在自增主键生成方面非常实用。 12. **递归查询与集合操作**: CONNECT_BY_ROOT和CONNECT_BY_PATH用于层次查询,UNION,INTERSECT和MINUS进行集合操作。 13. ...

    Oracle_基本建表语句-操作语句

    在Oracle数据库管理系统中,建表语句是进行数据存储和管理的基础操作。Oracle支持SQL标准的CREATE TABLE语句,用于创建新的数据库表。本篇将深入探讨Oracle中的基本建表语句及其相关操作。 首先,建表语句的基本...

    Oracle 11g的安装PDF

    创建序列(Sequence)是Oracle数据库中进行数据操作的另一个常用工具,它能够自动生成唯一的序列号。文档中提到的“createsequencePETSEQincrementby1”就是创建一个名为PETSEQ的序列,并设置其自增的步长为1。序列...

    oracle-use.rar_Oracle drop use_oracle

    "选出字段是否包含字母"涉及字符串函数的使用,例如`REGEXP_LIKE`可以用来判断一个字段的值是否符合特定的正则表达式,如检查是否包含字母。示例:`SELECT * FROM table WHERE REGEXP_LIKE(column, '[a-zA-Z]')`。 ...

    Mysql Oracle 数据库开发设计及使用规范

    - 超长表名处理方法:从前往后截取每个单词的前三个字母,保留最后一个单词完整,若仍然超长,则保留前面单词的首字母直接与最后一个单词相连。 - 临时表以`TMP`开头,命名格式为`TMP_名字拼音首字母_模块/用途名称`...

Global site tag (gtag.js) - Google Analytics