`
hacoonar
  • 浏览: 11714 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle创建自动增长主键

阅读更多
--drop table REPORT_LOG cascade constraints;

/*==============================================================*/
/* Table: REPORT_LOG                                            */
/*==============================================================*/
create table REPORT_LOG  (
   ID                   NUMBER(20)                      not null,
   OPR_NAME_CN          VARCHAR2(50),
   OPR_NAME_EN          VARCHAR2(50),
   OPR_TYPE             NUMBER(6)                      default 0,
   RUN_TIME             NUMBER(6),
   RUN_EXCEPTION        VARCHAR2(3999),
   RUN_DATE             DATE,
   OPR_STATE            NUMBER(6)                      default 0,
   OPR_VALIDATE         CHAR(10)                       default '0',
   CREATED_BY           VARCHAR2(50),
   CREATED_DATE         DATE,
   UPDATED_BY           VARCHAR2(50),
   UPDATED_DATE         DATE,
   constraint PK_REPORT_LOG primary key (ID)
);

comment on table REPORT_LOG is
'操作日志';

comment on column REPORT_LOG.ID is
'主键 由触法器自动创建';

comment on column REPORT_LOG.OPR_NAME_CN is
'操作名称(中文)';

comment on column REPORT_LOG.OPR_NAME_EN is
'操作名称(英文)';

comment on column REPORT_LOG.OPR_TYPE is
'操作类型 0-手动,1-Quartz Job,2-Oracle Job';

comment on column REPORT_LOG.RUN_TIME is
'已运行次数';

comment on column REPORT_LOG.RUN_EXCEPTION is
'运行失败记录';

comment on column REPORT_LOG.RUN_DATE is
'截止时间点';

comment on column REPORT_LOG.OPR_STATE is
'操作状态 0-正在执行,1-成功,2-失败,3-等待执行,4-正在重试';

comment on column REPORT_LOG.OPR_VALIDATE is
'是否有效 0-有效,1-无效';

comment on column REPORT_LOG.CREATED_BY is
'创建人编码';

comment on column REPORT_LOG.CREATED_DATE is
'创建时间';

comment on column REPORT_LOG.UPDATED_BY is
'修改人编码';

comment on column REPORT_LOG.UPDATED_DATE is
'修改时间';



--drop sequence SEQ_REPORT_DATA_RES;

create sequence SEQ_REPORT_DATA_RES
increment by 1
start with 1
  maxvalue 999999999
  minvalue 1;

--drop trigger "tib_report_log"
/


create trigger "tib_report_log" before insert
on REPORT_LOG for each row
declare
    integrity_error  exception;
    errno            integer;
    errmsg           char(200);
    dummy            integer;
    found            boolean;

begin
    --  Column "ID" uses sequence SEQ_REPORT_DATA_RES
    select SEQ_REPORT_DATA_RES.NEXTVAL INTO :new.ID from dual;

--  Errors handling
exception
    when integrity_error then
       raise_application_error(errno, errmsg);
end;
/

 

分享到:
评论

相关推荐

    oracle主键自动增长

    ### Oracle主键自动增长知识点详解 #### 一、Oracle序列(Sequence)的使用方法 在Oracle数据库中,并没有像MySQL那样的自动增长字段特性,因此在实际应用中,我们常常需要手动实现这一功能。序列(Sequence)是...

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

    ### Oracle数据库创建表tuser设置主键自动增长 在Oracle数据库中,创建一张包含自动增长主键的表是一项常见的需求。本文将详细介绍如何在Oracle环境中创建一个名为`tuser`的表,并实现其主键自动增长的功能。此外,...

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    ### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...

    oracle触发器实现主键自动增长

    在Oracle数据库中,实现主键自动增长是一种常见的需求,尤其在设计高并发、大数据量的系统时,确保每个记录都有一个唯一且连续的标识符变得至关重要。本文将深入探讨如何利用Oracle触发器来实现这一功能,同时也会...

    oracle 自增长主键.doc

    Oracle数据库系统中,自增长主键是一种常见的设计模式,用于创建具有自动递增的唯一标识符。在Oracle中,我们通常使用序列(Sequence)来实现这个功能,而不是像其他数据库系统那样使用内置的自增机制。以下是对...

    oracle主键自动增长方法

    oracle创建表时主键自动增长方法 5 测试反复执行如下语句:insert into Test_Increase(Username) values('test')6 查看插入结果:userid username1 test2 test3 test4 test5 test6 test7 test8 test9 test

    oracle设置主键自动增长

    本文详细介绍了在 Oracle 数据库中设置主键自动增长的过程,包括创建表、创建序列、创建触发器以及相关操作等。通过这种方式,可以简化数据管理,提高开发效率,同时确保主键值的唯一性。希望这些知识点能对你有所...

    创建oracle数据库中表的主键和自增

    这不仅有助于确保数据的唯一性,还能简化开发过程中的某些环节,尤其是在需要自动增长的主键时。下面将详细介绍如何通过序列(Sequence)和触发器(Trigger)来实现在Oracle中创建自增的主键。 #### 序列(Sequence...

    oracle序列主键自增长

    本文将深入探讨Oracle序列主键自增长的工作原理、创建方法以及如何在表中应用。 **1. Oracle序列(Sequences)基础** Oracle序列是一个数据库对象,它可以生成一系列唯一的数字,这些数字可以被用作表的主键。序列...

    oracle设置主外键即主键序列自动增长

    下面将详细介绍如何在Oracle中创建包含主键和外键的表,并利用触发器(Trigger)和序列实现主键的自动增长。 #### 一、创建包含主键和外键的表 首先,我们来看一下创建包含主键和外键的表的基本语法和步骤。 ####...

    oracle自动增长列

    ### Oracle自动增长列知识点 在Oracle数据库中,实现自动增长列的功能主要依赖于`SEQUENCE`对象。通过创建一个序列(SEQUENCE),可以方便地为表中的某列自动生成唯一的值,这对于主键或者需要唯一标识符的场景非常...

    Oracle创建主键自增表(sql语句实现)及触发器应用

    这样,我们就成功地创建了一个具有主键自增功能的Oracle表,并通过触发器实现了插入数据时主键的自动递增。这种方法对于需要唯一标识符的场景非常有用,例如在用户管理、订单系统或其他需要跟踪唯一实体的系统中。

    在hibernate中实现oracle的自动增长

    本文将深入探讨如何在Hibernate中实现Oracle数据库的自动增长特性,这一功能对于确保数据表中的主键唯一性至关重要。 ### Oracle数据库的自动增长机制 Oracle数据库提供了强大的序列(sequence)功能来支持自动增长...

    oracle中的sequence实现主键增长

    总的来说,Oracle中的Sequence提供了一种可靠且灵活的方式来生成序列号,适用于需要自动增长主键的场景。通过合理配置和使用,可以有效避免数据冲突,提高插入数据的效率。在设计数据库时,应根据具体业务需求来决定...

    oracle创建表空间、表、主键、外键、序列

    下面将详细介绍如何创建表空间以及如何在Oracle中创建表、主键、外键和序列。 1. 创建表空间: 在Oracle中,首先需要创建一个表空间来存储未来的数据。以下是一个创建表空间的基本语法: ```sql CREATE TABLESPACE...

    oracle设定自增长列

    总之,通过上述步骤,我们不仅创建了一个具有自增长主键的表,还通过序列和触发器的组合使用,确保了该主键能够自动递增,提供了一种高效且安全地管理表中记录唯一标识符的方法。这种方法在Oracle数据库中非常实用,...

    OracleID自增长

    本文详细介绍了如何在Oracle数据库中实现ID自增长功能,包括创建表、创建序列、创建触发器等步骤。通过这种方式,可以有效地提高数据管理和维护的效率。对于需要频繁处理大量数据的应用来说,这种方法非常实用且有效...

Global site tag (gtag.js) - Google Analytics