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防止这种情况。
设计模式之行为型模式
jquery实现excel导出
桥本分数式问题的C++算法
[深入浅出iOS库]之图形库Core Plot
HDU 1069 Monkey and Banana
程序员咋学习
JavaSocket通信(双向,有界面)
BZOJ 3098(Hash Killer II生日攻击)
[置顶] iPhone 5S及iWatch或将采用指纹验证技术
- 最新文章
-
OpenSCG: Postgres, Mongo & Java Experts
Ubuntu unixodbc 配置 zhouzhk ITeye技术网站
MySQL vs PostgreSQL
PostgreSQL full text search
GiST and GIN Index Types
Postgresql数据库全文索引初试【对象关系型数据库管理系统】
借助 NlpBamboo 中文分词打造 PostgreSQL 的全文检索
he unixODBC Project home page
PostgreSQL入门
电影
- 热门文章
-
PostgreSQL 8.3 以上的中文全文索引使用介绍
接触expect、tcl语言
PostgreSQL: Documentation: 8.3: Populating a Database
install PostgreSQL Community Ubuntu Documentation
Ubuntu安装psycopg2小记 Wally Yu的专栏 博客频道 CSDN.NET
PostgreSQL: Documentation: devel: Additional Features
my.cnf参数配置
接触expect、tcl语言
PostgreSQL入门
如何学习一门新的语言