--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序列(Sequence)的使用方法 在Oracle数据库中,并没有像MySQL那样的自动增长字段特性,因此在实际应用中,我们常常需要手动实现这一功能。序列(Sequence)是...
### Oracle数据库创建表tuser设置主键自动增长 在Oracle数据库中,创建一张包含自动增长主键的表是一项常见的需求。本文将详细介绍如何在Oracle环境中创建一个名为`tuser`的表,并实现其主键自动增长的功能。此外,...
### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...
在Oracle数据库中,实现主键自动增长是一种常见的需求,尤其在设计高并发、大数据量的系统时,确保每个记录都有一个唯一且连续的标识符变得至关重要。本文将深入探讨如何利用Oracle触发器来实现这一功能,同时也会...
Oracle数据库系统中,自增长主键是一种常见的设计模式,用于创建具有自动递增的唯一标识符。在Oracle中,我们通常使用序列(Sequence)来实现这个功能,而不是像其他数据库系统那样使用内置的自增机制。以下是对...
oracle创建表时主键自动增长方法 5 测试反复执行如下语句:insert into Test_Increase(Username) values('test')6 查看插入结果:userid username1 test2 test3 test4 test5 test6 test7 test8 test9 test
本文详细介绍了在 Oracle 数据库中设置主键自动增长的过程,包括创建表、创建序列、创建触发器以及相关操作等。通过这种方式,可以简化数据管理,提高开发效率,同时确保主键值的唯一性。希望这些知识点能对你有所...
这不仅有助于确保数据的唯一性,还能简化开发过程中的某些环节,尤其是在需要自动增长的主键时。下面将详细介绍如何通过序列(Sequence)和触发器(Trigger)来实现在Oracle中创建自增的主键。 #### 序列(Sequence...
本文将深入探讨Oracle序列主键自增长的工作原理、创建方法以及如何在表中应用。 **1. Oracle序列(Sequences)基础** Oracle序列是一个数据库对象,它可以生成一系列唯一的数字,这些数字可以被用作表的主键。序列...
下面将详细介绍如何在Oracle中创建包含主键和外键的表,并利用触发器(Trigger)和序列实现主键的自动增长。 #### 一、创建包含主键和外键的表 首先,我们来看一下创建包含主键和外键的表的基本语法和步骤。 ####...
### Oracle自动增长列知识点 在Oracle数据库中,实现自动增长列的功能主要依赖于`SEQUENCE`对象。通过创建一个序列(SEQUENCE),可以方便地为表中的某列自动生成唯一的值,这对于主键或者需要唯一标识符的场景非常...
这样,我们就成功地创建了一个具有主键自增功能的Oracle表,并通过触发器实现了插入数据时主键的自动递增。这种方法对于需要唯一标识符的场景非常有用,例如在用户管理、订单系统或其他需要跟踪唯一实体的系统中。
本文将深入探讨如何在Hibernate中实现Oracle数据库的自动增长特性,这一功能对于确保数据表中的主键唯一性至关重要。 ### Oracle数据库的自动增长机制 Oracle数据库提供了强大的序列(sequence)功能来支持自动增长...
总的来说,Oracle中的Sequence提供了一种可靠且灵活的方式来生成序列号,适用于需要自动增长主键的场景。通过合理配置和使用,可以有效避免数据冲突,提高插入数据的效率。在设计数据库时,应根据具体业务需求来决定...
下面将详细介绍如何创建表空间以及如何在Oracle中创建表、主键、外键和序列。 1. 创建表空间: 在Oracle中,首先需要创建一个表空间来存储未来的数据。以下是一个创建表空间的基本语法: ```sql CREATE TABLESPACE...
总之,通过上述步骤,我们不仅创建了一个具有自增长主键的表,还通过序列和触发器的组合使用,确保了该主键能够自动递增,提供了一种高效且安全地管理表中记录唯一标识符的方法。这种方法在Oracle数据库中非常实用,...
本文详细介绍了如何在Oracle数据库中实现ID自增长功能,包括创建表、创建序列、创建触发器等步骤。通过这种方式,可以有效地提高数据管理和维护的效率。对于需要频繁处理大量数据的应用来说,这种方法非常实用且有效...