Oracle 数据库中序列结合触发器实现主键自增长

一、数据表名称为T_OFFICE,其主键为PID(number类型)

二、首先为数据表的PID字段创建序列

序列名称:S_T_OFFICE_PID

序列详细内容:

三、创建相应的触发器

触发器名称:T_OFFICETRIGER

触发器具体内容:

create or replace
TRIGGER
HYMGS_INDUSTRY_FQ6.T_OFFICETRIGER
BEFORE INSERT ON HYMGS_INDUSTRY_FQ6.T_OFFICE FOR EACH ROW
BEGIN
select S_T_OFFICE_PID.nextval into :new.PID from dual;
END;

注释:插入新数据前 更新PID主键的值

原文地址:https://www.cnblogs.com/net064/p/9540296.html

时间: 2024-07-30 21:20:33

Oracle 数据库中序列结合触发器实现主键自增长的相关文章

通过 jdbc 分析数据库中的表结构和主键外键

文章转自:http://ivan4126.blog.163.com/blog/static/20949109220137753214811/ 在某项目中用到了 hibernate ,大家都知道 hibernate 是 ORM 框架,他是有能力根据实体生成数据库表的.我们在单元测试的时候用到了 dbUnit ,dbUnit 可以帮助我们在测试前把数据库的测试数据准备好,然后我们就利用现成的数据库环境测试,测试完成后需将数据库中的所有数据清除(为了不影响其他的单元测试),然后接着下一个测试.虽然已经

Oracle数据库中序列(SEQUENCE)的用法详解

在Oracle数据库中,序列的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值.本文我们主要介绍了序列的用法,希望能够对您有所帮助. AD: 在Oracle数据库中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其实是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值. 创建序列需要CREATE SEQUENCE系统权限

Oracle数据库中序列用法讲解

序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值. AD:WOT2015 互联网运维与开发者大会 热销抢票 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字).其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值. 创建序列需要CREATE S

如何使用myBatis在数据库中插入数据并返回主键

在MyBatis中,希望在Oracle中插入数据的同时返回主键值,而非插入的条数. ① oracle使用 selectKey. U_USER_INFO_SEQ 是在数据库中定义好的这张表关联的序列sequence, Nextval是获取自增的id <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&quo

oracle数据库添加,查询,删除主键约束

     主键约束在每个表中只有一个,但是一个主键约束可以由多个列组成 可以在创建表的时候就创建主键约束,也可以通过alter语句添加主键约束 1:添加主键约束 [1] 语法: CREATE TABLE 表名(        字段名  primary key,      字段名....., ); 示例: CREATE TABLE student(  id number primary key, name varchar(20), age number(3), email varchar2(50)

Oracle数据库,非空约束、主键约束、外键约束、唯一约束

非空约束:设置列时,可为空默认可为空,去掉对号之后设置数据不可为空: 唯一约束:在键中设置,唯一约束名称.类型Unique.列名:设置应用完成之后,此列数据具有唯一性:即数据不可重复 主键约束:主键列自动具有非空约束和唯一约束,一个表只能有一个主键约束(自动生成索引,提高查询效率)

oracle 数据库的字段的增删改主键设定删除

添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter table tablename modify (column datatype [default value][null/not null],….); 删除字段的语法:alter table tablename drop (column); 添加.修改.删除多列的话,用逗号隔开. 使用alter

Oracle - 使用序列+触发器实现主键自增长

Oracle中的自增,不如Sql server那般方便. 1 --1.创建序列 2 CREATE SEQUENCE "TABLE_NAME"."SQ_NAME" 3 MINVALUE 1 MAXVALUE 9999999999999999999999999999 4 -- 定义列的步长,默认为1 5 INCREMENT BY 1 6 -- 定义序列的起始值,默认为1 7 START WITH 1 8 CACHE 20 NOORDER NOCYCLE ; 9 --2.

oracle,mybatis主键自增长

<insert id="insert" parameterType="resource"> <selectKey resultType="long" order="BEFORE" keyProperty="id"> SELECT sys_resource_id_SEQ.NEXTVAL AS id FROM DUAL </selectKey> INSERT INTO <