java获取oracle自增_oracle 自增变量设置
将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现)
----创建表
Create table t_user(
Id number(6),userid varchar2(20),loginpassword varchar2(20),isdisable number(6)
);
----创建序列
create sequence user_seq
increment by 1
start with 1
nomaxvalue
nominvalue
nocache
----创建触发器
create or replace trigger tr_user
before insert on t_user
for each row
begin
select user_seq.nextval into :new.id from dual;
end;
----测试
insert into t_user(userid,loginpassword, isdisable)
values('ffll','liudddyujj', 0);
insert into t_user(userid,loginpassword, isdisable)
values('dddd','zhang', 0)
select * from t_user;
就可以看出结果。
***********************************************************************
对sequence说明:
increment by :用于指定序列增量(默认值:1),如果指定的是正整数,则序列号自动递增,如果指定的是负数,则自动递减。
start with :用于指定序列生成器生成的第一个序列号,当序列号顺序递增时默认值为序列号的最小值 当序列号顺序递减时默认值为序列号的最大值。
Maxvalue:用于指定序列生成器可以生成的组大序列号(必须大于或等于start with,并且必须大于minvalue),默认为nomaxvalue。
Minvalue:用于指定序列生成器可以生成的最小序列号(必须小于或等于starr with,并且必须小于maxvalue),默认值为nominvalue。
Cycle:用于指定在达到序列的最大值或最小值之后是否继续生成序列号,默认为nocycle。
Cache:用于指定在内存中可以预分配的序列号个数(默认值:20)。
在sequence中应注意:
1、 第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。
2、 如果指定CACHE值,ORACLE就可以预先在内存里面放置一些sequence,这样存取的快些。cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。
关键字:自增 sequence序列 increment start with
posted on 2008-04-14 13:13 鲁胜迪 阅读(2928) 评论(0) 编辑 收藏
java获取oracle自增_oracle 自增变量设置相关推荐
- java获取oracle表空间_Oracle 表空间使用情况查询与修改
-- 查询用户表空间 select username, default_tablespace, u.temporary_tablespace from dba_users u; -- 查询表空间信息 ...
- java 获取oracle mysql sqlserver 链接 connection
import java.sql.Connection; import java.sql.DriverManager; //获取sqlserver connection public static Co ...
- java 获取oracle表结构_Java导出oracle表结构实例详解
Java导出oracle表结构实例详解 发布于 2020-7-20| 复制链接 摘记: Java导出oracle表结构实例详解最近用到的,因为plsql是收费的,不让用,找了很多方法终于发现了这个. ...
- oracle主键id自动自增_Oracle主键ID设置自动增长(序列+触发器)
----创建表 create table users ( user_id number(6) not null, user_name varchar2(20) not null, user_pwd ...
- java 获取oracle表结构_获取Oracle中所有表的列表?
回答(19) 2 years ago 我们可以从以下查询获取所有表格,包括列详细信息: SELECT * FROM user_tab_columns; 2 years ago 使用sqlplus更好地 ...
- 电脑JAVA打开oracle太慢_oracle官网下载jdk跑不动太慢了,给出快速下载方式mac
oracle官网下载jdk8跑不动太慢了,给出快速下载方式 之前在oracle官网下载jdk1.8实在速度太慢,只有20K左右的下载速度,有时候甚至不动,最关键的慢也就算了,cookie有效期有限,有 ...
- an初始java运行环境错误,完美解决jdk环境变量设置完后,在cmd中运行javac出现’javac‘不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示...
换了个工作环境,好吧,环境重新装一遍,遇到一个 'javac'不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示 这里就解决一下好了 一.下载jdk,具体怎么下载这里就不说了,提供一个下载地 ...
- java Clob转CLOB_Java获取Oracle中CLOB字段转换成String
Java获取Oracle中CLOB字段转换成String : try {PreparedStatement stmt = session.connection().prepareStatement(s ...
- mysql clob转string_Java获取Oracle中CLOB字段转换成String
Java获取Oracle中CLOB字段转换成String : try {PreparedStatement stmt = session.connection().prepareStatement(s ...
最新文章
- 2020年AI产业报告:100个岗位抢1个人,计算机视觉成最大缺口
- 一文看懂机器视觉芯片 ​
- 孙正义真会玩,这个「人不是人,狗不是狗」的画面,价值上千万
- log-slave-updates 引起 MySQL 从节点同步异常慢
- note同步不及时 one_一辆理想ONE又“跪了”?理想官方紧急发文回应
- 餐厅数据分析报告_如何使用数据科学选择理想的餐厅设计场所
- LDAP命令介绍---verify-index--验证索引
- centos安装python gcc sqlite
- python8皇后不攻击问题_python 八皇后问题的解法(深度搜索)
- 线程池----ThreadPoolExecutor
- 大话企业上云之第二篇
- ActiveMQ的下载安装与操作示例
- DIY智能车赛优胜奖开源作品——手机遥控麦克纳姆轮小车(1)
- 一张图告诉你,自学编程和科班程序员的差别在哪!网友:很真实
- 基于51单片机的智能指纹考勤系统设计-基于单片机的便携式瓦斯检测仪系统设计-基于单片机声光控智能开关控制灯系统设计(论文,仿真,程序,原理图)【资料转发分享】
- 科大讯飞输入法android离线语音,讯飞输入法Android5.0.1752 离线语音更轻快的表达...
- Python---项目(简易画图软件)
- 美容院如何提升员工敬业度?
- JavaScript 运算符与逻辑分支
- 麦克风声源定位原理_一种利用麦克风阵列进行声源定位的方法与流程