一个自动增长的有序编号的触发器
在**常使用中,经常会见到形如这样的编号:
20070600001 2000700002 20070600003
到了下一个月就成为:
20070700001
也就是说每月都有一个有规律的编号,可以很清晰的看出编号是在哪能个月
插入的。类似这样的功能,在Oracle中应该用触发器来实现
1,创建表
SQL> create table T_text2
2 (
3 eno varchar(12) primary key,
4 ename varchar2(20)
5 );
表已创建。
2。创建触发器
SQL> create or replace trigger eno_auto_increment
2 before insert on T_text2
3 for each row
4 declare
5 olddate number(6);
6 newdate number(6);
7 oldeno varchar(12);
8 begin
9 select nvl(max(to_number(to_char(substr(eno,0,6)))),0)into olddate from T_t
ext2
10 ;
11 select to_number(to_char(sysdate,'YYYYMM'))into newdate from dual;
12 select nvl(max(to_number(eno)),0)into oldeno from T_text2;
13 if newdate>olddate then
14 select nvl(to_char(sysdate,'YYYYMM'),to_char(sysdate,'YYYYMM'))||lpad(to_n
umber(nvl('',0))+1,6,'0')
15 into:new.eno from dual;
16 else
17 select to_number(oldeno)+1 into:new.eno from dual;
18 end if;
19 end;
20 /
触发器已创建
3。添加部分测试数据:
SQL> insert into T_text2(ename) values('AA');
已创建 1 行。
SQL> insert into T_text2(ename) values('BB');
已创建 1 行。
SQL> insert into T_text2(ename) values('CC');
已创建 1 行。
4。查询数据:
SQL> select * from T_text2;
ENO ENAME
------------ --------------------
200709000001 AA
200709000002 BB
200709000003 CC
分享到:
相关推荐
Oracle 9i是Oracle公司推出的一个重要版本,引入了许多创新特性,提升了数据库性能、可用性和安全性。 在学习Oracle 9i时,首先需要理解数据库的基本概念,如关系型数据库模型、表、索引、视图等。关系型数据库模型...
综上所述,Oracle9i数据库系统是一个功能强大的解决方案,它在数据库管理、对象管理、安全性、完整性和并发控制方面提供了丰富的特性,以满足大型企业的复杂需求。理解和掌握这些知识点对于任何Oracle数据库管理员来...
### Oracle9i SQL for End Users – 关键知识点解析 #### 一、Oracle 9i数据库简介 Oracle 9i是一款由Oracle公司发布的强大关系型数据库管理系统(RDBMS)。它在Oracle 8i的基础上进行了大量的改进和增强,尤其是在...
Oracle 9i是Oracle数据库的一个重要版本,它引入了许多新特性和改进,使得SQL在数据管理和分析上的效率得到显著提升。以下将详细介绍该书涵盖的关键知识点。 1. SQL基础:本书首先会介绍SQL(Structured Query ...
通过这20天的学习,你将能够对Oracle 9i有一个全面的认识,具备基本的数据库管理和开发能力。实际操作是提升技能的关键,因此,结合书中的实例和练习,理论与实践相结合,将使你在Oracle的世界里更加游刃有余。
Oracle9i 是Oracle公司推出的数据库管理系统的一个重要版本,它的全称是Oracle Database 9i,主要专注于提高数据管理和网络通信的效率。本基础教程旨在帮助初学者理解和掌握Oracle9i的核心概念、安装配置以及基本...
Oracle 9i是Oracle公司发布的一个重要版本,它在数据库管理领域有着广泛的使用,尤其对于初学者来说,它是深入理解数据库系统的一个理想起点。Oracle 9i全称为Oracle Database 9i,它提供了许多增强的功能和优化,以...
Oracle9i属于关系型数据库,它遵循Codd的十二法则,这些法则是评价一个关系数据库管理系统是否符合关系模型的标准。 §1.1.3 为什么使用RDBMS RDBMS的使用是因为它能有效地处理大量数据,支持多用户共享,保证数据...
Oracle 9i是一款由甲骨文公司开发的关系型数据库管理系统,是Oracle数据库产品中的一个重要版本。本教程通过一系列PPT课件,详细介绍了Oracle 9i的基础知识和高级特性,包括数据操作、游标、触发器等内容,对于学习...
Oracle9i是一款由甲骨文公司推出的数据库管理系统,它的全称是Oracle9i Database,是Oracle数据库产品线中的一个重要版本。本教程“40057GC11 - Introduction to Oracle9i:SQL Basics Tutorial”旨在为初学者提供...
在创建用户之前,必须先创建至少一个表空间。在“安全”选项中,选择“创建”来创建新用户。输入用户名和密码,并将用户关联到已创建的表空间。同时,可以分配角色以设定用户的权限,例如`DBA`、`RESOURCE`或`...
Oracle 9i是Oracle公司推出的一个里程碑式的数据库产品,它在性能、可扩展性、安全性和管理性上都有显著提升,为当时的企业级应用提供了强大的支持。 1. **概念模型设计**:在设计数据库时,首先需要创建概念模型,...
Oracle 9i是Oracle数据库的一个重要版本,专为满足企业级数据管理需求而设计。本教程将深入浅出地介绍Oracle 9i的基础知识,帮助初学者快速掌握这个强大数据库系统的使用。 一、Oracle数据库概述 Oracle数据库是...
第一部分 ORACLE系统优化基本知识 23 第1章 ORACLE结构回顾 23 §1.1 Oracle数据库结构 23 §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1...
3. **表**:在Oracle9i SQL中,表是数据的主要存储结构,由列和行组成。每一列代表一个特定的数据类型,如整数、字符串或日期,每一行则表示一条记录。 4. **数据类型**:Oracle9i SQL支持多种数据类型,包括数值型...
《Oracle9i关系数据库实用教程》是一本专为学习Oracle数据库管理系统设计的教材,主要针对的是Oracle9i版本。Oracle数据库是全球广泛使用的大型企业级数据库系统,它提供了丰富的功能和高度的可扩展性,适合处理大...
- 添加: 通过触发器和索引, 实现图书编号自动增长。 - 删除: 通过存储过程实现; 如果图书已借出, 则不能删除。 - 修改: 只能修改除图书主键外的其他信息。 - 查询: 支持精确查询和模糊查询。 2. **用户认证**: ...
Oracle 9i是一款由甲骨文公司推出的数据库管理系统,它在当时是Oracle数据库产品线中的一个重要版本。这个“Oracle9i课件”很显然是针对学习和教学Oracle 9i数据库应用技术而设计的一系列PPT教程。以下是这个课件...
Oracle9i是一款由甲骨文公司(Oracle Corporation)推出的数据库管理系统,是Oracle数据库产品线中的一个重要版本。本教程“Oracle9i关系数据库实用教程”旨在为学习者提供关于Oracle9i数据库的基础知识和实践技能。...