Oracle自增标识列
来源:互联网 发布:腾讯视频网络异常手机 编辑:程序博客网 时间:2024/05/22 14:57
1.基本语法
(1) 创建序列命
CREATE SEQUENCE SE_NAME [INCREMENT BY n] [START WITH n] [maxvalue n | nomaxvalue] [minvalue n | nominvalue] [CYCLE|NOCYCLE] [CACHE|NOCACHE] [ORDER|NOORDER];
INCREMENT BY: 指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
START WITH:指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
MAXVALUE:指定序列可生成的最大值。
NOMAXVALUE:为升序指定最大值为1027,为降序指定最大值为-1。
MINVALUE:指定序列的最小值。
NOMINVALUE:为升序指定最小值为1。为降序指定最小值为-1026。
CYCLE:循环使用,用大最大值再返。
CACHE:指定cache的值。如果指定CACHE值,Oracle就可以预先在内存里面放置一些Sequence,这样存取的快些。Cache里面的取完后,Oracle自动再取一组到Cache。使用Cache或许会跳号, 比如数据库突然不正常Down掉(Shutdown Abort),Sache中的Sequence就会丢失. 所以可以在Create Sequence的时候用NOCACHE防止这种情况。
ORDER:顺序使用序列值。
(2) 更改序列
ALTER SEQUENCE sequence_name [INCREMENT BY n] [MAXVALUE n| NOMAXVALUE ] [MINVALUE n | NOMINVALUE] [CYCLE|NOCYCLE] [CACHE|NOCACHE] [ORDER|NOORDER];
(3) 删除序列
DROP SEQUENCE [user.]sequence_name;
2. 序列的使用
序列提供两个方法,NextVal和CurrVal。
NextVal:取序列的下一个值,一次NEXTVAL会增加一次sequence的值。
CurrVal:取序列的当前值。
但是要注意的是:第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。
下面我们来开始使用序列和触发器创建Oracle自增标识列!
新建表 ADMIN
字段:AID、用户:ANAME、密码:APASSWORD 执行语句
// 第一步:创建表
CREATE TABLE ADMIN ( AID NUMBER NOT NULL, ANAME CHAR(10) NOT NULL, APASSWORD VARCHAR2(50), );
// 第二步:创建自动增长序列
CREATE SEQUENCE SE_ADMIN INCREMENT BY 1 START WITH 1 NOMINVALUE NOMAXVALUE NOCYCLE NOCACHE NOORDER;
// 第三步:创建触发器
CREATE TRIGGER TR_ADMIN_AID BEFORE INSERT ON ADMIN FOR EACH ROW BEGIN SELECT SE_ADMIN.NEXTVAL INTO:NEW.AID FROM DUAL; END;
// 第四步:提交
// 第六步:验证数据是否插入成功 COMMIT;
select * from ADMIN;
- Oracle自增标识列
- 自增列,种子标识
- DB2的自增列 标识列
- 重置标识值(自增列/标识列)
- 使用JDBC插入数据到ORACLE,使用标识列自增列。
- 使用JDBC插入数据到ORACLE,使用标识列自增列。
- 标识列 sqlServer 自增字段取出
- 处理自增标识列标识值跳跃问题
- oracle 自增列
- oracle 自增列
- oracle自增列
- sql 2008中标识列循环自增的实现
- oracle中自增列!
- oracle 使用自增列
- ORACLE创建自增列
- oracle 创建自增列
- oracle实现自增列
- SQL-Server重置自标识列 应用
- Eclipse快捷键大全
- Tomcat部署项目
- 用户的访问权限过滤器,防止用户直接输入URL直接访问资源。
- Session 和 Cookie 的区别
- Oracle自增序列在Hibernate中的配置方法
- Oracle自增标识列
- JDK环境变量配置
- Oracle的数据类型
- Java冒泡排序法
- Struts2里.do的后缀无法访问解决方法!
- FCKEditor 使用方法
- scons 实践笔记(3)--模块编译
- LOG4J配置文件
- SVN配置