Oracle中没有像mysql中那样自增的方式(auto_increment),可以使用sequence+trigger的方式来实现该功能。
1、有下面一张表:
create table ecp_docfiles (id number(10) primary key , contractcode varchar2(150) ,filename varchar2(30) not null unique,createdate timestamp default sysdate,isactive char(2) default '1' );
id是主键。
2,创建一个sequence。
create sequence sequence_ecp_docfiles
increment by 1 --每次自增1
start with 1 --从1开始
nomaxvalue -- 不设置最大值
nocycle --不循环,一直累加
cache 10;
-- 为了加快读取速度,可以设置cache,既每次预加10个序列号,但如果数据库服务器宕机,就会造成cache中预加的序列号丢失,从而致使表中的序列不是连续的。
3.创建一个trigger,在对ecp_docfiles表进行insert时,就会自动的将id值自增。
create or replace trigger tigger_ecp_docfiles
before insert on ecp_docfiles
for each row
declare
nextid number;
begin
if :new.id is null or :new.id = 0 then
select sequence_ecp_docfiles.nextval
into nextid
from sys.dual;
:new.id := nextid;
end if;
end tigger_ecp_docfiles;
分享到:
相关推荐
### Oracle建立自增主键 在Oracle数据库管理中,创建自增主键是一种常见...总之,通过组合使用`SEQUENCE`和`TRIGGER`,可以有效地在Oracle数据库中实现自增主键功能,从而简化数据库管理并提高数据的一致性与完整性。
### ORACLE自增主键设置方法 在Oracle数据库中,自增主键是一种常见的主键设计方式,它能够确保每条记录的唯一性,并且在插入新记录时自动递增,简化了数据管理流程。本文将详细介绍如何在Oracle中设置自增主键。 ...
### Oracle中设置自增主键方法详解 在Oracle数据库中,自增主键是一种非常实用且常见的设计模式,它能够确保表中的每一条记录都拥有一个唯一的标识符,这对于数据的管理和查询非常重要。本文将详细介绍如何在Oracle...
下面将详细介绍如何通过序列(Sequence)和触发器(Trigger)来实现在Oracle中创建自增的主键。 #### 序列(Sequence) 序列是一种自动产生数值的数据库对象。它可以被用来生成唯一的、连续的整数或浮点数。序列...
在设计数据库表的时候发现Oracle没有自增主键的设置,Google了解到Oracle本身并不支持自增主键,需要通过序列(Sequence)和触发器(Trigger)实现。 创建表Student Create Table Student( id number(12) primary ...
以下是一个在 Oracle 中创建自增主键的详细步骤: 1. **创建序列**: Oracle 中的序列是一种可以生成唯一整数序列的对象。在这个例子中,我们可以创建一个名为 `seq.TableName` 的序列,其中 `TableName` 是表的...
### PowerDesigner 创建 Oracle 数据库表并设置主键...以上步骤详细介绍了如何使用PowerDesigner 12.5创建Oracle数据库表,并设置主键列的自动增长功能。这将极大地提高数据库开发的效率,并确保数据的一致性和完整性。
以下是一些关于在Oracle中创建主键自增实例的方法和相关知识点。 1. 使用序列(Sequences): Oracle序列是一种数据库对象,可以生成唯一的整数序列。创建序列后,可以在插入新记录时引用它来获取下一个可用的序列...
在Oracle数据库中,创建主键自增表是一项常见的任务,这有助于确保每个新插入的记录都有一个唯一的标识符。下面将详细讲解如何通过SQL语句实现这一功能,并结合触发器的应用来自动增加主键。 首先,我们创建一个...
以下是对创建和使用Oracle主键自增的相关知识点的详细说明: 1. **创建表并定义主键**: 当我们创建表时,可以指定某列为主键。例如,创建名为`book`的表,`id`列为整数类型的主键: ```sql CREATE TABLE book ...
在Oracle数据库中,由于没有像SQL Server那样内置的自增字段功能,我们通常需要通过创建序列(SEQUENCE)和触发器(TRIGGER)来模拟这一效果。以下将详细讲解如何在Oracle中创建自增字段sequence,并讨论其相关知识...
### 如何实现Oracle主键自增,通过写sequence和触发器 在Oracle数据库中实现主键自增功能可以通过创建序列(sequence)与触发器(trigger)相结合的方式实现。这种方式不仅能够确保数据表中的主键唯一性,还能自动递增...
### Oracle数据库创建表tuser设置主键自动增长 在Oracle数据库中,创建一张包含自动增长主键的表是一项常见的需求。本文将详细介绍如何在Oracle环境中创建一个名为`tuser`的表,并实现其主键自动增长的功能。此外,...
### Oracle主键自动增长知识点详解 #### 一、Oracle序列(Sequence)的使用方法 在Oracle数据库中,并没有像MySQL那样的自动增长字段特性,因此在实际应用中,我们常常需要手动实现这一功能。序列(Sequence)是...
在Oracle数据库中,实现ID自增的一种常见方法是通过结合使用序列(Sequence)和触发器(Trigger)。这种方法非常实用,特别是在需要为表中的记录自动生成唯一标识符的情况下。 ##### 创建序列(Sequence) 首先,...
#### 二、创建表与自增主键 ##### 1. 创建表 首先,我们需要创建一张表。这里以 `example` 表为例,该表包含四个字段:`ID`(作为主键)、`NAME`、`PHONE` 和 `ADDRESS`。 ```sql CREATE TABLE example ( ID ...