Oracle 设置主键Id自增长

--创建序列:
CREATE SEQUENCE seq_Grelation -- 尽量使用统一前缀命名,方便管理    
     INCREMENT BY 1   -- 自增步长 这里设置为1  
     START WITH 1     -- 计数起点 这里设置为1  
     NOMAXVALUE       -- 不设置最大值 可选项 MAXVALUE|MINVALUE  
     NOCYCLE          -- 一直累加,不循环    
     CACHE 10;

--创建触发器:
CREATE TRIGGER Grelation_TRIGGER BEFORE
insert ON "GuideRelation" FOR EACH ROW
begin
select seq_Grelation.nextval into:New.RELATIONID from dual;
end;

seq_Grelation  Grelation_TRIGGER  seq_Grelation.nextval  New.RELATIONID(对应ID名) 是要自己改的

时间: 2024-11-06 15:52:17

Oracle 设置主键Id自增长的相关文章

Oracle通过主键id删除记录很慢

问题描述: Oracle通过主键id删除2000条记录很慢,需要花费十二分钟. 解决过程: 1.首先查看SQL的执行计划,执行计划正常,cost只有4,用到了主键索引. 2.查看等待事件, select * from v$session_wait where sid = 507 显示的event是db file sequential read,也没有异常. 3.查看统计信息是否正常 select * from user_tables where table_name = ''; 经检测,统计信息

mysql设置主键自动增长

创建数据库,创建表. Sql代码   mysql> create database ssh2; Query OK, 1 row affected (0.04 sec) mysql> use ssh2; Database changed mysql> create table user( -> id integer primary key, -> firstname varchar(200) not null, -> lastname varchar(200) not n

oracle实现主键自增

由于ORACLE设置主键是不会自动增加的,所以必须用 序列 和 触发器 来完成主键的递增 1.建立数据表 create table Test_Increase(           userid number(10) primary key,  /*建立主键*/           username varchar2(20)           ); 2.创建自动增长序列 CREATE SEQUENCE TestIncrease_Sequence INCREMENT BY 1 -- 每次加几个 

oracle中如何设置主键并且让其自动增长

由于oracle中是没有自动增长的的,需要自己去进行写触发器等方式去进行设置: 找了一下他人写的,有两种方法可以设置主键,一种是自增长主键,另一种就是生成唯一序列. 一.自增长主键 我创建一个用户的信息表 -- Create tablecreate table USERINFO( USERNO NUMBER not null, USERNAME NVARCHAR2(20), USERPWD NVARCHAR2(20))tablespace MYPRODUCT pctfree 10 initran

oracle创建表并添加主键,设置主键自增长

oracle序列详解和创建自增主键 Oracle序列主键 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l 自动提供唯一的数值 l 共享对象 l 主要用于提供主键值 l 将序列值装入内存可以提高访问效率 1.首先创建序列,Oracle序列的语法格式为: CREATE SEQUENCE 序列名 [INCREMENT BY n] [START WITH n] [{MAXVALUE/ MINVALUEn|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n

Mycat探索之旅(4)----Mycat的自增长主键和返回生成主键ID的实现

说明:MyCAT自增长主键和返回生成主键ID的实现 1) mysql本身对非自增长主键,使用last_insert_id()是不会返回结果的,只会返回0:这里做一个简单的测试 创建测试表 -------------------------------------- --创建测试表 ------------------------------------- USE test; CREATE TABLE IF NOT EXISTS t_auto_increment ( id INT NOT NULL

spring jdbcTemplate insert插入Oracle数据库后返回当前主键id

最近做一个spring版本3.0.4的老项目功能,应用场景要用到jdbctemplate插入oracle表后返回主键ID拿来和其他表关联. 用oralce的可以一直用这种处理方式,高兼容低. public long insertOraGetId(final QuetInvtHeadVO headVO) { KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplate.update(new PreparedStatementCreator

浅谈MyBatis-Plus学习之Oracle的主键Sequence设置

一.Oracle的主键Sequence设置简介 在Oracle数据库中不支持主键自增策略,它是通过Sequence序列来进行完成的,因此需要在MP中进行相关配置 二.相关配置如下 2.1.pom.xml 添加相关依赖 注意:由于oracle的授权问题,没办法从maven仓库中下载,因此可以手动从oracle官网中下载,并本地打包到仓库中 <!-- Oracle驱动: 因为Oracle授权的问题,不能从Maven的仓库中下载到Oracle驱动 --> <dependency> <

使用pl/sql的文本导入器时如何设置主键自增长

在使用文本导入器批量导入数据时,如果需要设置主键自增长,可以先创建一个序列: create sequence SEQ_Userinf start with 1 increment by 1nomaxvaluenominvaluenocache; 然后在导入时设置主键字段的sql函数为:SEQ_Userinf.nextval就可以了.