当前位置: 首页 > news >正文

买程序的网站厦门人才网唯一官网

买程序的网站,厦门人才网唯一官网,wordpress内外网,网站后台关键词设置目录 序列的创建 序列的使 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 在许多数据库之中都会存在有一种数据类型 — 自动增长列,它能够创建流水号。如果想在 Oracle 中实现这样的自动增长列,可…

目录

序列的创建

序列的使


Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645

在许多数据库之中都会存在有一种数据类型 — 自动增长列,它能够创建流水号。如果想在 Oracle 中实现这样的自动增长列,可以使用序列的方式完成

序列的创建

create sequence 序列名称
[MAXVALUE 最大值 | NOMAXVALUE]
[MINVALUE 最小值 | NOMINVALUE]
[INCREMENT BY 步长 ] [START WITH 开始值 ]
[CYCLE | NOCYCLE]
[CACHE 缓存个数 | NOCACHE] ;

MAXVALUE :可选项,定义序列的最大值

MINVALUE :可选项,定义序列的最小值

START WITH 开始值:可选项,定义序列的开始值

INCREMENT BY 步长:可选项,定义序列每次增加值

CYCLE :可选项,表示当序列增加到最大值或者减少到最小值的时候,重新从开始值继续

CACHE :可选项,表示是否产生序列号预分配,并存储在内存中

序列属于数据库对象的创建过程,属于 DDL 的分类范畴。对于序列而言,创建之后一定会在数据字典中保存

CREATE SEQUENCE myseq ;

 上面代码创建一个序列,名字为 myseq,所有参数都取默认值

既然序列的对象信息会在数据字典中保存,那么现在就可以查询序列的数据字典

SELECT * FROM user_sequences ;

SEQUENCE_NAME :序列名称,本次为 MYSEQ

MIN_VALUE :当前序列的最小值,本次为 1

MAX_VALUE :当前序列的最大值,本次为“1.0000E+28”

INCREMENT_BY :每次序列增长的步长内容

CY :是否为循环序列,本次为“N”

OR :是否需要排序

CACHE_SIZE :缓存个数,默认为 20 个

LAST_NUMBER :最后的数值。现在序列已经创建成功了,如果要想使用序列则可以使用如下的两个伪列完成

nextval :取得序列下一个内容,每一次调用序列的值都会增长

currval :表示取得序列的当前内容,每一次调用序列不会增长,如果要想使用此伪列,那么在使用之前必须首先使用 nextval 取得内容才可以。

只有运行了 nextval 之后才表示内容真正可以使用 

序列的使

CREATE TABLE mytab(id		NUMBER ,name	VARCHAR2(50)  ,CONSTRAINT pk_id PRIMARY KEY(id)
) ;

 此时的数据表与原始相比没有任何区别,但是在数据增加的时候,由于 id 属于一个主键列,所以可以利用序列来生成 id 的内容

INSERT INTO mytab(id,name) VALUES (myseq.nextval,'HELLO') ;

以上的操作是序列在实际开发中使用最多的一种情况,但是从序列的创建语法来讲,并不是这么简单,所以下面需要对序列进行进一步的分析

那么首先需要来解决缓存的作用是什么

在序列的操作过程中,为了保证序列操作的性能问题,会利用缓存在用户未使用到指定的序列值时自动将内容创建好,这样用户在使用序列中就不是一起创建的了,从而达到性能的提升

但是缓存本身会存在一个丢号的问题,如果数据库关闭了,那么序列的内容就可能无法连续了,称此为丢号问题

但是以上所创建的只是标准的序列,而实际上序列也可以创建一些特殊情况

DROP SEQUENCE myseq ;
CREATE SEQUENCE myseq 
INCREMENT BY 2 ;

上面代码中,“DROP SEQUENCE myseq ”表示删除序列的代码,然后创建一个新的序列,步长为 2

DROP SEQUENCE myseq ;
CREATE SEQUENCE myseq 
INCREMENT BY 2
START WITH 100000 ;

上面代码中,创建的序列开始值为 100000,增加的步长为 2。

在序列的使用过程中还可以创建一个循环序列,例如希望序列可以在 1、3、5、7、9 之间循环显示,所以此时就需要设置序列的最大值 9、最小值 1,而且设置为循环

DROP SEQUENCE myseq ;
CREATE SEQUENCE myseq 
INCREMENT BY 2 START WITH 1 
MINVALUE 1 MAXVALUE 9
CYCLE NOCACHE;

从实际情况来说,序列的使用往往都不需要这么复杂,生成一个流水号就够了

http://www.hkea.cn/news/754263/

相关文章:

  • 电子印章手机在线制作软件四川seo整站优化费用
  • 个人风采网站制作外贸网站平台哪个好
  • 沈阳企业建站谷歌推广和seo
  • .la域名做的网站如何快速推广app
  • 广州优化网站建设怎么用手机制作网站
  • 做微网站的第三方学网络营销
  • 湖南做网站的公司有哪些搜索引擎是什么
  • flash网站管理系统seo优化排名易下拉用法
  • 永年网站建设友链互换平台推荐
  • 企业网站的设计公司网络广告营销的典型案例
  • 高校思政主题网站建设的意义关键词歌词任然
  • 哪里做网站比较快2345网址导航下载桌面
  • 广州建设委员会官方网站凡科建站下载
  • 全球做网站的公司排名百度一下你就知道官网
  • 小企业网站价格免费发链接的网站
  • 买了空间和域名 怎么做网站哪家公司网站做得好
  • 网站备案是否关闭衡阳网站建设公司
  • 遂昌建设局网站个人怎么做网站
  • 软件开发和网站建设网络营销的未来6个发展趋势
  • 做网站一年多少钱免费seo网站推广
  • 智通人才网东莞最新招聘信息官网seo是如何做优化的
  • 个人做跨境电商网站百度地图导航手机版免费下载
  • 阿里云注册网站之后怎么做网站百度联盟是什么
  • 动画制作视频河南网站排名优化
  • 网站关键词怎么做排名掌门一对一辅导官网
  • 现在什么网站做推广比较好网页设计需要学什么
  • 个人购物网站 怎么建网络营销包括
  • 有没有做鸭的网站工作室招聘广州网站优化工具
  • 深圳营销外深圳网络营销公司seo和sem的联系
  • 专业的网站制作公司哪家好竞价专员是做什么的