oracle和mysql不同。没有自增长字段auto_increment,可以通过序列和行触发器实现
1、建立数据库测试表
CREATE TABLE TEST( ID NUMBER(12) PRIMARY KEY, NAME VARCHAR2(20) );
2、创建自增长序列
CREATE SEQUENCE test_seq INCREMENT BY 1 START WITH 1 --从1开始 NOMAXVALUE --不设最大值 NOCYCLE --不循环 NOCACHE;
3、创建触发器
CREATE TRIGGER increase_test BEFORE INSERT -- ON TEST FOR EACH ROW BEGIN SELECT test_seq.Nextval INTO:NEW.ID FROM DUAL; END;
定义受到影响的各行触发器.这些触发器称为行触发器
行触发器的定义方式与语句触发器类似,但是有以下两个例外
1、行触发器要在定义的触发语句中包含for each row子句,还可以包含referencing语句
2、在before...for each row触发器中,可以引用受到影响的行值
在行触发器中,用户能够访问受到影响的行值。通过引用具有相关名称的列,即可以获取语句执行前的值和语句执行后的值。前映象(before image)的默认名称是:old,后映象(after image)的默认名称是:new
在insert触发器中,只可以使用:new值。由于以前没有存在这些行,所以不能够有:old.与此相反,在delete触发器中,则没有:new,只有:old, update触发器具有前映象:old和后映象:new
4、测试数据
INSERT INTO TEST(NAME) VALUES('JASON'); INSERT INTO TEST(ID,NAME) VALUES('8888','MARRY'); INSERT INTO TEST(NAME) VALUES('LISA');
然后提交 commit;
5、查看表数据
ID NAME 1 1 JASON 2 2 MARRY 3 3 LISA
说明:示例引用了:new.ID的值,并且把test_seq.nextval的值直接赋予:new.ID,这样,无论是否为ID列提供值,这种技术都使得该列取自test_seq.nextval
相关推荐
### Oracle主键自动增长知识点详解 #### 一、Oracle序列(Sequence)的使用方法 在Oracle数据库中,并没有像MySQL那样的自动增长字段特性,因此在实际应用中,我们常常需要手动实现这一功能。序列(Sequence)是...
在Oracle数据库中,实现主键自动增长是一种常见的需求,尤其在设计高并发、大数据量的系统时,确保每个记录都有一个唯一且连续的标识符变得至关重要。本文将深入探讨如何利用Oracle触发器来实现这一功能,同时也会...
### Oracle 设置主键自动增长详解 #### 一、概述 在数据库设计中,为了方便管理和维护数据表,经常需要为主键设置自动增长的功能。Oracle 数据库提供了强大的工具和语法支持来实现这一需求。本文主要介绍如何在 ...
本文将深入探讨Oracle序列主键自增长的工作原理、创建方法以及如何在表中应用。 **1. Oracle序列(Sequences)基础** Oracle序列是一个数据库对象,它可以生成一系列唯一的数字,这些数字可以被用作表的主键。序列...
oracle创建表时主键自动增长方法 5 测试反复执行如下语句:insert into Test_Increase(Username) values('test')6 查看插入结果:userid username1 test2 test3 test4 test5 test6 test7 test8 test9 test
### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...
### Oracle数据库创建表tuser设置主键自动增长 在Oracle数据库中,创建一张包含自动增长主键的表是一项常见的需求。本文将详细介绍如何在Oracle环境中创建一个名为`tuser`的表,并实现其主键自动增长的功能。此外,...
### Oracle 设置主外键及主键序列自动增长 在Oracle数据库管理系统中,为了确保数据的一致性和完整性,经常需要设置主键(Primary Key)和外键(Foreign Key)。此外,为了方便管理和操作,通常还会使用序列...
Oracle数据库系统中,自增长主键是一种常见的设计模式,用于创建具有自动递增的唯一标识符。在Oracle中,我们通常使用序列(Sequence)来实现这个功能,而不是像其他数据库系统那样使用内置的自增机制。以下是对...
本文将深入探讨MySQL、SQL Server和Oracle这三种主流数据库系统中主键自动增长的设置方法。 在MySQL中,主键自动增长是通过`auto_increment`关键字实现的。当你创建一个表并定义某个字段为`auto_increment`类型的...
在Oracle数据库中,实现自增长列的功能是一种常见的需求,尤其在设计主键或者唯一标识符时。这通常用于确保每条记录都有一个唯一的、连续的编号。在给定的文件中,通过创建表、序列和触发器的方式实现了这一功能。...
### Oracle ID自增长实现方法详解 #### 一、引言 在使用Oracle数据库进行软件开发时,经常会遇到需要为表中的记录自动生成唯一标识符(ID)的需求。而在Oracle数据库中,与MySQL不同的是,它并没有提供直接的自...
用于oracle新手解决表的主键如何实现自增长,表结构设计的示例
### Oracle自动增长列知识点 在Oracle数据库中,实现自动增长列的功能主要依赖于`SEQUENCE`对象。通过创建一个序列(SEQUENCE),可以方便地为表中的某列自动生成唯一的值,这对于主键或者需要唯一标识符的场景非常...
总的来说,Oracle中的Sequence提供了一种可靠且灵活的方式来生成序列号,适用于需要自动增长主键的场景。通过合理配置和使用,可以有效避免数据冲突,提高插入数据的效率。在设计数据库时,应根据具体业务需求来决定...
本文将深入探讨如何在Hibernate中实现Oracle数据库的自动增长特性,这一功能对于确保数据表中的主键唯一性至关重要。 ### Oracle数据库的自动增长机制 Oracle数据库提供了强大的序列(sequence)功能来支持自动增长...
在Oracle数据库中,创建带有自增长属性的表是常见的需求,尤其在设计主键或唯一标识符时。这里我们将详细探讨如何在Oracle中实现这一功能。 首先,我们需要了解Oracle中的自增长特性是通过序列(Sequences)来实现...