Oracle入门(十二G)之序列

序列(SEQUENCE)序列是一数据库对象,利用它可生成唯一的整数。

由于它属于可共享对象,所以允许多个用户访问。一般情况下,序列用于创建主键值。

序列号的存储和生成与表无关。因此,同一序列可以用于多个表。

一、创建序列

create sequence 序列名 

[increment by n]      --指定序列号的间隔值,其中n 为整数

[start with n]            --指定要生成的第一个序列号(如果省略该语句,序列将从1 开始)

[{maxvalue n | nomaxvalue}]   --指定当序列达到其最大值或最小值后,是否继续生成值 

                                                    NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递增
                                                    序列,系统能够产生的最大值是10的27次方;对于递减序列,最大值是-1。
                                                    MINVALUE定义序列生成器能产生的最小值。选项NOMAXVALUE是
                                                    默认选项,代表没有最小值定义,这时对于递减序列,系统能够产生
                                                    的最小值是?10的26次方;对于递增序列,最小值是1。

[{minvalue n | nominvalue}]   

[{cycle | nocycle}]      ---表示当序列生成器的值达到限制值后是否循环。
                                   CYCLE代表循环,NOCYCLE代表不循环。如果循环,则当递增序列达到最大值时,循环到最
                                   小值;对于递减序列达到最小值时,循环到最大值。如果不循环,达到限制值后,继续产生新值
                                   就会发生错误。

[{cache n | nocache}];     --指定Oracle 服务器预先分配并保留在内存中的值的个数。(默认20)如果系统崩溃,这些值将丢失。


实例:

create sequence user_seq
increment by 1
start with 1
maxvalue 50000
nocache
nocycle;


二、查询序列

(1)要验证序列已创建,请查询user_sequences数据字典。要查看序列的所有设置,请按如下所示方式查询USER_SEQUENCES 数据字典。

select sequence_name, min_value, max_value, increment_by, last_number  from user_sequences;

(2)查看当前用户的所有序列 
select sequence_owner,sequence_name from dba_sequences  where sequence_owner='PPNIE';

注意:sequence_owner的值必须为大写,不管你的用户名是否大写。只有大写才能识别。

(3)查询当前用户的序列总数 
select count(*) from dba_sequences where sequence_owner='用户名';

(4)生成删除该用户下的序列号的sql语句
select 'drop sequence ' ||sequence_name ||' ;' from dba_sequences where sequence_owner='PPNIE'; 

三、nextval和currval使用

nextval 伪列用于从指定序列中提取连续的序列号。必须用序列名来限定nextval。

在引用“序列名.nextval”时,会生成新的序列号,并将当前的序列号放置在currval 中。

 insert into t_user(uiid,uname) values(user_seq.nextval,'系统管理员');


可以在下列上下文中使用nextval 和currval:

  • 不属于子查询的select 语句的select 列表
  • insert 语句中子查询的select 列表
  • insert 语句的values 子句
  • update 语句的set 子句


四、修改序列

 alter sequence 序列名 
  [increment by n] 
  [{maxvalue n | nomaxvalue}] 
       [{minvalue n | nominvalue}]  
  [{cycle|nocycle}] 
  [{cache n|nocache}];

注意:不能修改序列的初始值

alter sequence seq_empid
increment by 2;
注: Oracle修改序列(Sequence)起始值的方法


五、删除序列

drop sequence 序列名;
drop sequence seq_empid


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20.内存换入-请求调页

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.操作系统关于内存管理的核心是基于虚拟内存的分段和分页管理; 3.而用内存换入和换出实现虚拟内存 ; 【1】虚拟内存 1&…

机器人点焊枪接线_用于焊接机器人焊枪工具点及工件坐标系标定装置及方法与流程...

本发明属于机器人焊接技术领域,涉及一种用于焊接机器人焊枪工具点及工件坐标系标定的装置及方法。背景技术:工业机器人是实施自动化生产线、工业4.0、智能制造车间、数字化工厂、智能工厂的重要基础装备之一。而据不完全统计,全世界在役的工业…

采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)

前言 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这是一个对Entity Framework进行扩展的类库. 完全支持EF 5.0/6.0, GitHub地址 https://github.com/loresoft/EntityFramework.Extended, 最后一次更…

Oracle入门(十二J)之同义词

转载自 oracle同义词 一、创建同义词 --普通用法 create [or replace] [public] synonym [schema.] 同义词名称 for [schema.] object [dblink];--创建专有(私有)同义词 create synonym sysn_test for test;--创建公共同义词 create public synonym publ…

21.内存换出

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.有内存换入就有内存换出。 3.因为物理内存空间有限,n次(第n页)换入后导致物理内存用完,则n1次&…

antd vue表单上传文件_vue+axios+antD的上传图片踩坑

一开始使用了实验室大佬封装的axios结合formData进行图片上传,然而传递给后台的formData是空的,打印出来的form又确实是存在的,百度搜了一大推,于是借鉴了百度的做法。1.引入axios import axios from ‘axios‘;2.创建一个新的axios,const …

移动web开发调试工具AlloyLever介绍

简介 web调试有几个非常频繁的刚需:看log、看error、看AJAX发包与回包。其他的如timeline和cookie以及localstorage就不是那么频繁,但是AlloyLever都支持。如你所见: 特征 点击alloylever按钮之间切换显示或隐藏工具面板Console会输出所有用户…

Oracle入门(十三A2)之单行函数

一、函数介绍 功能:改变数据输出形式或进行数据运算输出二、单行函数函数格式 函数说明abs(n) 返回n的绝对值floor(n) 返回小于等于n的最大整数ln(n) 返回n的自然对数&#xff…

22.IO与显示器

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.显示器是输入型外设; 3.本章主要内容是讲 显示器是如何被驱动的;或操作系统是如何让用户来使用显示器的; 4.Pri…

d3 i5 神舟精盾k480n_神舟精盾k480n i5 d3和精盾i5 d1哪个好?

(这是D3的数据)主板芯片组IntelHM76CPU系列英特尔酷睿i53代系列CPU型号Intel酷睿i53210MCPU主频2.5GHz最高睿频3100MHz总线规格DMI5GT/s三级缓存3MB核心类型IvyBridge核心/线程数双核...(这是D3的数据)主板芯片组Intel HM76CPU系列英特尔 酷睿i5 3代系列CPU型号Intel 酷睿i5 32…

[开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [一] 初衷与架构设计

一 ,为什么要造轮子 有兴趣的同学可以去各大招聘网站看一下爬虫工程师的要求,大多是JAVA,PYTHON甚至于还有NODEJS,C,再或者在开源中国查询C#的爬虫,仅有几个非常简单或是几年没有更新的项目。从我看的一些文…

Oracle入门(十三B)之高级查询(上)

下章:Oracle入门(十三C)之高级查询(下) 一、多表格查询 (1)定义将两个或两个以上的表格,按照一定的关系连接起来进行查询。(2)多表格查询分类 连接查询嵌套查…

23.键盘

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.键盘 是输出型外设; 【1】外设工作原理 【图解】外设工作原理: 步骤1:Cpu向外设控制器发出指令(如…

like左匹配索引失效_Mysql索引失效的情况

一、前提条件1、创建三张测试表:DROP TABLE IF EXISTS user;CREATE TABLE user (idint(11) NOT NULL,name varchar(25) DEFAULT NULL,ageint(11) NOT NULL DEFAULT 0,update_time datetime DEFAULT NULL,first_name varchar(25) DEFAULT NULL,last_name varchar(25)…

基于DDDLite的权限管理OpenAuth.net 1.0版正式发布

距离上一篇OpenAuth.net的文章已经有5个多月了,在这段时间里项目得到了很多朋友的认可,开源中国上面的Star数接近300,于是坚定了我做下去的信心。最近稍微清闲点,正式推出1.0版,并在阿里云上部署了一个在线演示&#x…

24.原生磁盘的使用

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.磁盘操作抽象 第1层抽象:通过盘块号读写磁盘(或逻辑盘块号);第2层抽象:用队列缓存多个…

Oracle入门(十三C)之高级查询(下)

上章:Oracle入门(十三B)之高级查询(上) 四、常见组函数 SUM、AVG、COUNT、MIN、MAX分组函数忽略null 值。不能在WHERE 子句中使用组函数。MIN 和MAX 可用于任何数据类型;SUM、AVG只能用于数字数据类型五、子…

微软将降低Visual Studio对操作系统的影响

在过去几年中,为了将Visual Studio变成Windows上的第一开发工具,而不管用户的目标平台是什么,微软作出了重大努力。最近收购Xamarin及通过大力支持开源工具来支持非Windows设备,极大地增加了它对于各类开发人员的用处。这一做法的…

代码设置margintop_关于元素设置margin-top能够改变body位置的原因及解决(子元素设置margin-top改变父元素定位)...

关于元素设置margin-top能够改变body位置的原因及解决(子元素设置margin-top改变父元素定位)起因:在进行bootstrap的.navbar-brand内文字设置垂直居中时采用line-height高度,无法居中,发现源码.navbar-brand 设置了 padding: 15px 15px;(默认…

Oracle入门(九A)之用户的权限或角色

转载自 查看Oracle用户的权限或角色 前几天被问到一些关于权限和角色的问题,今天抽时间总结一下如何查看Oracle用户的权限或角色,在之前的博文中,写过 SYS,SYSTEM,DBA,SYSDBA,SYSOPER的区别与联系 以及 Oracle中定义者权限和调用者权限案例分…