`
guofengcn
  • 浏览: 51058 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

在Oracle中实现类似自动增加ID的功能

阅读更多
使用触发器
 
1.创建序列 
create sequence seq_user
increment by 1----每次添加多个
minvalue 1----最小值为1
nomaxvalue----不限定最大值
start with 1----从1开始
cache 10----缓存
order;

2.创建表 
CREATE TABLE user    

id     NUMBER PRIMARY KEY,    
username      VARCHAR2(50) 
); 

******测试:
insert into user (id,username) values (seq_user.nextval,'guofengcn');

  
3.创建触发器 
create or replace trigger trig_user
before insert on user ----(表名)
for each row----触发每一行
begin
  select seq_user.nextval into :new.id from dual;
end;

******测试:
insert into user (username) values ('guofengcn');



注解:

  currval=返回 sequence的当前值

  nextval=添加 sequence的值,然后返回 sequence 值

分享到:
评论

相关推荐

    java通过Mysql实现类似oracle序列功能序列.rar

    在Java应用程序中,如果需要在MySQL环境中实现类似Oracle序列的功能,我们需要自己设计解决方案。以下是一些关键知识点的详细说明: 1. **Java连接MySQL**: - 首先,你需要使用JDBC(Java Database Connectivity...

    Oracle插入数据时获取自增ID

    在Oracle数据库中,当需要实现类似其他数据库系统(如MySQL、SQL Server等)中的自动增长字段功能时,通常会采用序列(sequence)和触发器(trigger)来实现这一需求。下面将详细介绍如何通过序列和触发器实现在插入...

    oracle中用序列实现自动增长值

    在Oracle数据库系统中,与SQL Server中的`IDENTITY`特性类似,我们可以通过使用序列(Sequences)来实现字段的自动增长值。序列是一种特殊的数据库对象,它可以生成一系列有序的数值,通常用于为表的主键字段提供...

    oracle主键自动增长

    在Oracle数据库中实现类似MySQL的主键自增功能可以通过序列(Sequence)与触发器(Trigger)相结合的方式达成。本文将详细介绍如何在Oracle中创建序列、触发器,并通过一个具体的示例来展示整个过程。 ### 一、理解...

    关于oracle10供了类似操作系统中的回收站功能

    Oracle 10g 引入的回收站(Recycle Bin)功能是数据库管理的一大进步,它为用户提供了一种类似于操作系统中的回收站机制,允许用户在误删数据库对象后有机会恢复。这一特性显著减少了因人为错误导致的数据丢失问题,...

    OracleID自增长

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

    ORACLE中临时表

    Oracle中的临时表是一种特殊的数据结构,用于存储会话或事务期间的数据,这些数据仅对当前会话可见,并在特定条件下自动清除。Oracle提供两种类型的临时表:事务型和会话型。 事务型临时表在事务开始时创建,插入的...

    Oracle中主键自增实例

    但在实际应用中,我们可以通过一些技巧实现类似的功能。以下是一些关于在Oracle中创建主键自增实例的方法和相关知识点。 1. 使用序列(Sequences): Oracle序列是一种数据库对象,可以生成唯一的整数序列。创建...

    用java从Oracle的EMP表读数据并写到EXCEL中,实现oracle表的备份和导入

    EMP表是Oracle数据库中的一个经典示例表,通常包含员工的基本信息,如ID、姓名、部门等。 2. **Java**:Java是一种多平台、面向对象的编程语言,广泛应用于Web和企业级应用开发。在这个场景中,Java作为中间件处理...

    sqlserver中创建类似oracle序列的存储过程

    因此,在 SQL Server 中实现类似 Oracle 序列的功能需要通过其他方式,如存储过程、表变量等。 本文将详细介绍如何在 SQL Server 中创建一个模拟 Oracle 序列功能的存储过程,并通过示例代码展示其实现方法。 ####...

    Oracle Sql语句转换成Mysql Sql语句

    4. **游标**:Oracle SQL支持游标,MySQL则不直接支持,需要使用存储过程或临时表来实现类似功能。 5. **函数和操作符**:两者内置的函数和操作符有所不同,例如Oracle的NVL对应MySQL的IFNULL,Oracle的TO_DATE对应...

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

    通过以上步骤,我们成功地在Oracle数据库中实现了自动增长ID的功能。每当有新的记录插入到`t_user`表时,系统都会自动为`Id`字段分配一个递增的唯一值。这种方法不仅简化了开发人员的工作,还确保了数据的一致性和...

    SpringMVC+Hibernate+Oracle 实现登录、注册、增删改查功能!

    SpringMVC、Hibernate和Oracle是Java Web开发中的三大核心技术,它们共同构建了一个强大的后端系统,可以实现诸如登录、注册以及数据的增删改查等基本功能。下面将详细讲解这三个技术及其在实际项目中的应用。 ...

    从SQL Server 向Oracle迁移的技术实现方案

    然而,在Oracle中,`IDENTITY`概念并不存在,而是通过`SEQUENCE`机制来实现类似的功能。 - **创建Sequence**:在Oracle中创建一个名为`SEQ_LT_AREA`的序列,用于生成连续的整数。 ```sql create sequence SEQ_LT_...

    Oracle与Mysql自动增长列(id)的区别

    综上所述,Oracle和MySQL在自动增长列的实现方式上有显著区别,Oracle依赖于序列,而MySQL直接在表定义中使用`AUTO_INCREMENT`。这些差异反映了两个数据库系统在设计哲学和功能上的不同,选择哪一个通常取决于具体的...

    oracle中已killed session的处理

    在Oracle数据库管理中,有时会遇到一些异常情况,比如某个Session长时间未响应或占用大量资源,这时可能需要管理员手动干预,通过`ALTER SYSTEM KILL SESSION 'SID,SERIAL#'`命令来强制终止这个Session。然而,在...

    Oracle触发器 实例讲解

    在实际应用中,触发器可以用于实现各种业务逻辑,例如自动分配员工编号、检查数据正确性、记录用户操作历史等。 例如,在员工表中,我们可以创建一个触发器来自动分配员工编号: ```sql create trigger auto_assign...

    oracle自增长与临时表

    但是,我们可以通过创建序列(Sequences)来实现类似的功能。序列是一种数据库对象,可以生成一系列的唯一数值,常用于主键字段。 1. **创建序列**:使用`CREATE SEQUENCE`语句创建序列,例如: ```sql CREATE ...

    ORACLE如何停止一个JOB

    在Oracle数据库管理中,有时我们需要停止正在运行的JOB,这可能是由于各种原因,如发现错误、优化性能或调整资源分配。本文将详细阐述如何在Oracle中查询并停止正在运行的JOB,包括关键步骤、涉及的表与视图以及具体...

    利用ORACLE PL_SQL PACKAGE实现DISPATCHER设计模式.pdf

    ### Oracle PL/SQL在实现Dispatcher模式中的应用 利用Oracle PL/SQL Package实现Dispatcher模式,具体方法是创建一个Package组件,该组件包括对消息ID的统一管理以及实现信息分发机制的接口。例如,文档中提到了...

Global site tag (gtag.js) - Google Analytics