`

在oracle 9i里主键的自动增长-3(一个自动增长的有序编号的触发器)

    博客分类:
  • sql
阅读更多

一个自动增长的有序编号的触发器

在**常使用中,经常会见到形如这样的编号:
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 9i是Oracle公司推出的一个重要版本,引入了许多创新特性,提升了数据库性能、可用性和安全性。 在学习Oracle 9i时,首先需要理解数据库的基本概念,如关系型数据库模型、表、索引、视图等。关系型数据库模型...

    Oracle9i的数据库管理, Oracle9i数据库对象的管理,Oracle9i数据库的安全性,Oracle9i数据库的完整性和并发控制等

    综上所述,Oracle9i数据库系统是一个功能强大的解决方案,它在数据库管理、对象管理、安全性、完整性和并发控制方面提供了丰富的特性,以满足大型企业的复杂需求。理解和掌握这些知识点对于任何Oracle数据库管理员来...

    Oracle9i SQL for End Users

    ### Oracle9i SQL for End Users – 关键知识点解析 #### 一、Oracle 9i数据库简介 Oracle 9i是一款由Oracle公司发布的强大关系型数据库管理系统(RDBMS)。它在Oracle 8i的基础上进行了大量的改进和增强,尤其是在...

    OCP-007 Introduction to Oracle 9i SQL Study Guide.pdf

    Oracle 9i是Oracle数据库的一个重要版本,它引入了许多新特性和改进,使得SQL在数据管理和分析上的效率得到显著提升。以下将详细介绍该书涵盖的关键知识点。 1. SQL基础:本书首先会介绍SQL(Structured Query ...

    Oracle 9i 简明教程轻松实战20天

    通过这20天的学习,你将能够对Oracle 9i有一个全面的认识,具备基本的数据库管理和开发能力。实际操作是提升技能的关键,因此,结合书中的实例和练习,理论与实践相结合,将使你在Oracle的世界里更加游刃有余。

    oracle9i 基础教程

    Oracle9i 是Oracle公司推出的数据库管理系统的一个重要版本,它的全称是Oracle Database 9i,主要专注于提高数据管理和网络通信的效率。本基础教程旨在帮助初学者理解和掌握Oracle9i的核心概念、安装配置以及基本...

    oracle9i新手入门

    Oracle 9i是Oracle公司发布的一个重要版本,它在数据库管理领域有着广泛的使用,尤其对于初学者来说,它是深入理解数据库系统的一个理想起点。Oracle 9i全称为Oracle Database 9i,它提供了许多增强的功能和优化,以...

    Oracle9i SQL介绍

    Oracle9i属于关系型数据库,它遵循Codd的十二法则,这些法则是评价一个关系数据库管理系统是否符合关系模型的标准。 §1.1.3 为什么使用RDBMS RDBMS的使用是因为它能有效地处理大量数据,支持多用户共享,保证数据...

    oracle 9i ppt

    Oracle 9i是一款由甲骨文公司开发的关系型数据库管理系统,是Oracle数据库产品中的一个重要版本。本教程通过一系列PPT课件,详细介绍了Oracle 9i的基础知识和高级特性,包括数据操作、游标、触发器等内容,对于学习...

    40057GC11 - Introduction to Oracle9i:SQL Basics Tutorial

    Oracle9i是一款由甲骨文公司推出的数据库管理系统,它的全称是Oracle9i Database,是Oracle数据库产品线中的一个重要版本。本教程“40057GC11 - Introduction to Oracle9i:SQL Basics Tutorial”旨在为初学者提供...

    oracle 9i简单使用

    在创建用户之前,必须先创建至少一个表空间。在“安全”选项中,选择“创建”来创建新用户。输入用户名和密码,并将用户关联到已创建的表空间。同时,可以分配角色以设定用户的权限,例如`DBA`、`RESOURCE`或`...

    oracle9i 数据库设计指引全集

    Oracle 9i是Oracle公司推出的一个里程碑式的数据库产品,它在性能、可扩展性、安全性和管理性上都有显著提升,为当时的企业级应用提供了强大的支持。 1. **概念模型设计**:在设计数据库时,首先需要创建概念模型,...

    Oracle 9i中文版基础培训教程

    Oracle 9i是Oracle数据库的一个重要版本,专为满足企业级数据管理需求而设计。本教程将深入浅出地介绍Oracle 9i的基础知识,帮助初学者快速掌握这个强大数据库系统的使用。 一、Oracle数据库概述 Oracle数据库是...

    ORACLE9i_优化设计与系统调整

    第一部分 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...

    Oracle9i SQL最全的基本概念(包含3篇).zip

    3. **表**:在Oracle9i SQL中,表是数据的主要存储结构,由列和行组成。每一列代表一个特定的数据类型,如整数、字符串或日期,每一行则表示一条记录。 4. **数据类型**:Oracle9i SQL支持多种数据类型,包括数值型...

    《Oracle9i关系数据库实用教程》电子教案

    《Oracle9i关系数据库实用教程》是一本专为学习Oracle数据库管理系统设计的教材,主要针对的是Oracle9i版本。Oracle数据库是全球广泛使用的大型企业级数据库系统,它提供了丰富的功能和高度的可扩展性,适合处理大...

    Oracle课程设计--图书馆书籍管理系统.docx

    - 添加: 通过触发器和索引, 实现图书编号自动增长。 - 删除: 通过存储过程实现; 如果图书已借出, 则不能删除。 - 修改: 只能修改除图书主键外的其他信息。 - 查询: 支持精确查询和模糊查询。 2. **用户认证**: ...

    oracle9i课件

    Oracle 9i是一款由甲骨文公司推出的数据库管理系统,它在当时是Oracle数据库产品线中的一个重要版本。这个“Oracle9i课件”很显然是针对学习和教学Oracle 9i数据库应用技术而设计的一系列PPT教程。以下是这个课件...

    《Oracle9i关系数据库实用教程》ppt

    Oracle9i是一款由甲骨文公司(Oracle Corporation)推出的数据库管理系统,是Oracle数据库产品线中的一个重要版本。本教程“Oracle9i关系数据库实用教程”旨在为学习者提供关于Oracle9i数据库的基础知识和实践技能。...

Global site tag (gtag.js) - Google Analytics