`
xieen
  • 浏览: 40840 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

创建sequence和TRIGGER实现ID自增长

阅读更多

CREATE TABLE s_if_erptransferlog
(
  JobID    VARCHAR2(200)  NOT NULL,
  startdatetime    TIMESTAMP  NOT NULL,
  enddatetime    TIMESTAMP  NOT NULL,
  usedtime    NUMBER(10, 0)  NOT NULL,
  processcount    NUMBER(22, 0)  NOT NULL,
  result    VARCHAR2(40)  NOT NULL,
  errormsg    VARCHAR2(400) ,
  serial    NUMBER(38, 0)  NOT NULL
)
;
COMMENT ON TABLE s_if_erptransferlog IS '记录每次处理的结果'
;
COMMENT ON COLUMN s_if_erptransferlog.JobID IS 'JOB唯一标识'
;
COMMENT ON COLUMN s_if_erptransferlog.startdatetime IS '开始时间'
;
COMMENT ON COLUMN s_if_erptransferlog.enddatetime IS '结束时间'
;
COMMENT ON COLUMN s_if_erptransferlog.usedtime IS '所用时间(毫秒)'
;
COMMENT ON COLUMN s_if_erptransferlog.processcount IS '处理资料比数,错误时默认为一笔。成功记录所以处理成功的笔数。'
;
COMMENT ON COLUMN s_if_erptransferlog.result IS '处理结果:Failed,Success。'
;
COMMENT ON COLUMN s_if_erptransferlog.errormsg IS '出错讯息'
;
COMMENT ON COLUMN s_if_erptransferlog.serial IS '自增长ID'
;

--创建sequence
create sequence s_if_erptransferlog_s
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
nocache;

--创建TRIGGER

CREATE OR REPLACE TRIGGER "s_if_erptransferlog_BRI1"
 BEFORE
  INSERT
 ON s_if_erptransferlog
REFERENCING NEW AS NEW OLD AS OLD
 FOR EACH ROW
BEGIN
   SELECT s_if_erptransferlog_s.nextval
     INTO :NEW.Serial
     FROM DUAL;
END;

 

--测试 

insert into s_if_erptransferlog
  (JobID,
   startdatetime,
   enddatetime,
   usedtime,
   processcount,
   result,
   errormsg
)
values
  ('insertJob',
   sysdate,
   sysdate,
   22222,
   5,
   'Success',
   '');

分享到:
评论

相关推荐

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

    总之,通过Oracle的触发器和序列,我们可以轻松地实现主键的自动增长,这不仅简化了数据管理流程,也提高了数据的一致性和安全性。然而,在具体应用中,还需根据实际业务需求和系统环境,合理设计和优化触发器与序列...

    OracleID自增长

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

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

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

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

    本篇详细介绍了如何在Oracle数据库中创建一张包含自动增长主键的表`tuser`,并通过创建序列和触发器实现了这一功能。这种做法不仅能够简化主键管理的工作量,还能够确保数据的一致性和完整性。对于实际应用来说,这...

    oracle设置主键自动增长

    为了实现主键自动增长,我们需要先创建一个序列。序列是一种用于生成一系列数值的对象,可以用于自动为主键生成唯一的值。 ```sql CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次增加的值 START WITH 1 -- ...

    oracle字段自增长

    Oracle 字段自增长是指在 Oracle 数据库中,通过创建序列和触发器来实现字段的自动增长功能。在 Java 编程过程中,这种机制可以用来生成唯一的序号,例如订单号、流水号等。 在 Oracle 10g 中,实现字段自增长需要...

    oracle主键自动增长

    这里直接指定了`ID`字段的值,如果想要实现自动增长,应该使用前面提到的序列和触发器方案。 #### 五、总结 本文详细介绍了如何在Oracle数据库中实现主键的自动增长功能,主要包括了序列和触发器的使用方法。通过...

    oracle 触发器方式实现行ID自增加

    总结起来,Oracle数据库通过触发器和序列对象相结合,能有效实现行ID的自增加功能。这种技术在需要自动维护唯一标识符的场景下非常实用,例如主键列。但需要注意的是,过度使用触发器可能会影响数据库性能,因此在...

    常用数据库的自增字段创建方法汇总

    Oracle 数据库不直接支持自增字段,但可以通过序列(Sequence)和触发器(Trigger)的组合来实现。步骤如下: 1. **创建序列**: ```sql CREATE SEQUENCE T1_ID_SEQ INCREMENT BY 1 START WITH 1 NO MAXVALUE ...

    设置db2 字段自增长

    通过以上介绍,可以看出DB2提供了多种方式来实现字段的自增长,包括直接使用`GENERATED ALWAYS AS IDENTITY`特性以及通过触发器和Sequence实现。选择哪种方式取决于具体的应用场景和需求。对于大多数情况来说,直接...

    创建Oracle触发器用于表中序列值自增长(Helloblock写作)

    本文将详细解释如何通过创建序列与触发器来实现表中特定字段的自增长功能。 #### 一、创建测试表 首先,我们需要创建一张用于测试的表`tb1`,该表包含两个字段:`id`作为主键,`name`作为字符串类型的数据存储。 ...

    oracle自增长

    总之,通过在Oracle数据库中创建序列和触发器,可以轻松实现表中ID的自增长功能,大大简化了数据管理和维护工作。然而,在实际应用中,还需要根据具体场景和需求,综合考虑性能、安全性和可移植性等因素,以达到最佳...

    oracle 自增长主键.doc

    然而,仅有表和序列还不足以在插入新记录时自动填充`ID`字段,这时需要创建一个触发器(Trigger)来实现这一功能: ```sql CREATE TRIGGER "触发器名称" BEFORE INSERT ON example FOR EACH ROW WHEN (new.id...

    Oracle数据库表序列ID自增生成器

    总结来说,Oracle数据库表序列ID自增生成器结合了序列和触发器的概念,实现了主键ID的自动增长。这种机制在处理大量数据和并发操作时,能确保数据的完整性和一致性。了解并熟练运用这些知识点,对于进行高效的Oracle...

    建一个插入数据id自动增加1.txt

    根据提供的文件信息,本文将详细解释如何在Oracle数据库中创建一个表,并使该表中的...总之,利用Oracle中的序列和触发器功能,可以轻松实现ID字段的自动增长,这对于提高数据库管理效率、保证数据完整性具有重要意义。

    oracle自增长与sqlserver一样好用

    本文将深入探讨Oracle中实现自增长序列(Sequence)与SQL Server中的自增列(Identity Column)的相似之处,以及如何在Oracle中通过序列和触发器来模拟SQL Server的自增列特性。 ### Oracle中的自增长序列...

    Oracle中使用触发器(trigger)和序列(sequence)模拟实现自增列实例

    这种方式在实际应用中非常常见,特别是在需要维护主键唯一性和自动增长的场景下。需要注意的是,这种模拟自增列的方法可能会比直接的自增列在性能上稍逊一筹,因为它涉及到额外的数据库操作。然而,对于大多数常规...

    建立oracle带自增长表

    总的来说,通过组合使用序列和触发器,可以在Oracle中实现自增长列的功能,满足在插入新记录时自动为`ID`字段生成唯一值的需求。这种方式虽然相比其他数据库系统稍显复杂,但在Oracle环境中是标准的做法。

Global site tag (gtag.js) - Google Analytics