新增一条语句,其中一个字段是每个月自增。例如: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;
分享到:
相关推荐
`to_char`函数在这里起到了关键作用,它将序列值转化为字符串,`FM0000000`表示固定宽度的格式,`FM`(Forced Mode)指示不添加任何前导或尾随空白,对于正数,这里相当于保留了一个空格的位置。 5. **返回结果**:...
在描述中,我们看到一个具体的例子,首先创建了一个名为`test`的MySQL表,包含两个字段:`id`(无符号整型,非空,主键)和`username`(可变长度字符串)。接着,填充了一些预设的数据,并尝试将`id`字段改为自动...
2. **删除表空间TABLESPACE**:删除表空间是一个需要谨慎操作的过程,因为这将永久性地丢失其中的所有数据。首先需要确保表空间无任何对象,然后可以使用`DROP TABLESPACE`命令进行删除,同时注意回收磁盘空间。 3....
这种策略占用空间较大,因为主键是一个字符串类型的字段。uuid策略适用于需要高唯一性的场景,但它占用空间较大。 hilo hilo是一种基于高低位生成主键的策略。这种策略需要在数据库中建立一个额外的表,默 认表名...
本文将详细介绍如何在Oracle环境中创建一个名为`tuser`的表,并实现其主键自动增长的功能。此外,还将介绍如何通过序列(sequence)来管理这个自动增长的主键值。 #### 一、创建表tuser 首先,我们需要定义`tuser`表...
- 上述代码实现了在`student`表中,当插入新记录时,`id`字段会自动获取`seq_student`序列的下一个值,从而实现自增功能。这种机制确保了每个新插入的记录都有一个唯一的`id`值,且该值按照设定的规则递增。 7. **...
- ROWID是Oracle数据库提供的一个特殊功能,用于唯一标识表中的每一行。 - **DB2**: - DB2 V8版本开始支持类似ROWID的功能。 #### 7. 数字转换 - **Oracle**: - 使用`TO_NUMBER('数字字符串')`来进行字符串到...
本篇文章将详细介绍如何在Oracle中创建一个主键自增的表,并提供相应的示例代码。 首先,我们需要创建一个序列,这个序列将用于生成唯一的自增ID。序列是Oracle中的一种特殊对象,它能够按照预定的规则(如递增或...
在Oracle中,序列(sequence)用于生成一系列唯一的数字,常见的操作有序列的当前值(CURRVAL)和下一个值(NEXTVAL)。序列通常被用在主键字段的自增上。 6. Oracle的字符转换函数: 在Oracle中,字符转换函数如...
Oracle是世界上最广泛使用的数据库管理系统之一,它提供了丰富的SQL语法和数据对象来支持高效的数据管理和处理。本文将深入探讨Oracle中的SQL语法和数据对象。 一、数据控制语言(DML) 1. 插入(INSERT):INSERT...
Oracle12C 向达梦8(DM8)迁移是一个涉及多个步骤的技术过程,主要目的是将现有的Oracle数据库系统顺利地转换到达梦数据库平台,以利用其特定的优势或满足特定的业务需求。以下是对这个迁移过程的详细说明: 一、...
NEXTVAL和CURRVAL用于获取序列的下一个和当前值,序列在自增主键生成方面非常实用。 12. **递归查询与集合操作**: CONNECT_BY_ROOT和CONNECT_BY_PATH用于层次查询,UNION,INTERSECT和MINUS进行集合操作。 13. ...
在Oracle数据库管理系统中,建表语句是进行数据存储和管理的基础操作。Oracle支持SQL标准的CREATE TABLE语句,用于创建新的数据库表。本篇将深入探讨Oracle中的基本建表语句及其相关操作。 首先,建表语句的基本...
创建序列(Sequence)是Oracle数据库中进行数据操作的另一个常用工具,它能够自动生成唯一的序列号。文档中提到的“createsequencePETSEQincrementby1”就是创建一个名为PETSEQ的序列,并设置其自增的步长为1。序列...
"选出字段是否包含字母"涉及字符串函数的使用,例如`REGEXP_LIKE`可以用来判断一个字段的值是否符合特定的正则表达式,如检查是否包含字母。示例:`SELECT * FROM table WHERE REGEXP_LIKE(column, '[a-zA-Z]')`。 ...
- 超长表名处理方法:从前往后截取每个单词的前三个字母,保留最后一个单词完整,若仍然超长,则保留前面单词的首字母直接与最后一个单词相连。 - 临时表以`TMP`开头,命名格式为`TMP_名字拼音首字母_模块/用途名称`...