oracle删sequen,Oracle中如何创建使用SEQUENCES
Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方.
Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方.
下面介绍一下关于sequence 的生成,修改,删除等常用的操作:
1. 创建 Sequence
使用如下命令新建sequence(用户需要有CREATE SEQUENCE 或者CREATE ANY SEQUENCE权限):
CREATE SEQUENCE test_sequence
INCREMENT BY 1 -- 每次加的个数据
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10 ;
[注意]
如果设置了CACHE值,ORACLE将在内存里预先放置一些sequence,以使存取速度更快。cache里面的取完后,oracle自动再取一组到cache。 但是,使用cache可能会跳号, 当遇到数据库突然异常down掉(shutdown abort),cache中的sequence就会丢失.
因此,推荐在create sequence的时候使用 nocache 选项。
2. 使用 sequence:
sequence.CURRVAL -- 返回 sequence的当前值
sequence.NEXTVAL -- 增加sequence的值,然后返回 sequence 值
[注意]
第一次NEXTVAL返回的是初始值;
随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。
CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,,否则会出错。
一次NEXTVAL会增加一次 SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。
sequence 存储在数据字典中,存储于user_sequences表
LAST_NUMBER 为最终序列号,也就是sequence游标当前所在的位置。
//get sequence last_number
SELECT LAST_NUMBER FROM USER_SEQUENCES WHERE SEQUENCE_NAME=TEST_SEQNAME
// NEXTVAL 使游标指向下一位(增一或减一)
SELECT SEQNAME.NEXTVAL FROM USER_SEQUENCES 得到下一位游标的值
3. 修改 Sequence
用户必须拥有ALTER ANY SEQUENCE 权限才能修改sequence. 可以alter除start至以外的所有sequence参数.
如果想要改变start值,必须 drop sequence 再 re-create.
命令格式如下:
ALTER SEQUENCE test_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 到10000后从头开始
NOCACHE ;
4. 删除 Sequence
DROP SEQUENCE order_seq;
更多Oracle相关信息见Oracle 专题页面 ?tid=12
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
oracle删sequen,Oracle中如何创建使用SEQUENCES相关推荐
- oracle 建一个自增序列,Oracle中如何创建使用SEQUENCES自增序列
Oracle中如何创建使用SEQUENCES Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方. 下面介绍一下关于sequence ...
- oracle删sequ_[oracle package]sequence处理(批量创建、删除sequence,将sequence恢复至指定值)...
之前对于oracle的包不太熟悉,最近深入学习了plsql中的包.在做项目过程中,操作数据库时,存在大量重复的工作,正好写个package来巩固下所学. 一.先对写的东西碰到的问题作下说明,也方便以后 ...
- oracle 删序列,oracle创建和删除序列
|NOMAXVALUE}] [{CYCLE|NOCYCLE}] [{CACHE n|NOCACHE}]; START WITH:定义序列的初始值(即产生的第一个值),默认为1. INCREMENT:用 ...
- php oracle 操作 sql语句中能不能添加数组_如何在PHP中使用Oracle数据库_php
在php3.0以上版本中,php内置了几乎目前所有的数据库处理函数,包括oracle;在本文中我们通过一个实例来介绍了如何使用这些函数来操作Oracle数据库. PHP提供了2大类API(应用程序接口 ...
- oracle数据库zenm怎么创建连接,oracle10g中怎么创建数据库连接
Oracle 10G手工创建数据库 收藏 在Oracle中建库,通常有两种方法.一是使用Oracle的建库工 且DBCA,这是一个图形界面工且,使用起来方便且很容易理解,因为它的界面友好.美观,而且提 ...
- Oracle中默认创建的表
安装Oracle数据库后,会自动创建几个表.分别是emp.dept.bonus(也有可能不一样),这些表都在scott账户中. 转载于:https://www.cnblogs.com/gaofei-1 ...
- oracle中如何创建一个过程,如何开发ORACLE存储过程
一. 概述 Oracle存储过程开发的要点是: • 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程; • 在Oracle数据库中创建一个存储过程; • 在Oracle ...
- Oracle查询所有序列;[oracle中如何创建表的自增ID(通过序列);oracle sql语句大全
Oracle查询所有序列 oracle sql语句大全 oracle中如何创建表的自增ID(通过序列)
- oracle每个租户指定字符集,理解 Oracle 多租户体系中(12c,18c,19c)创建用户作用域范围...
本篇探讨以下几个问题:你可提前猜测下面6个场景语句中,哪几个可以成功创建用户? 1. 在CDB级别中创建公共用户,不带 container 子句的效果: 2. 在CDB级别中创建公共用户,带 cont ...
- oracle怎么给表建同义词_oracle建同义词,oracle 中怎么创建同义词?
oracle 中怎么创建同义词? 我们需bai要准备的材料分别du是:电脑.oracle. 1.首zhi先打开oracle,如果dao想要实现表空间的方内法容,则输入以下代码: 2.如果想要实现用户的 ...
最新文章
- HTTP POST慢速DOS攻击初探
- 图像有损压缩matlab程序,基于Matlab的灰度图像DCT与RLE的混合有损压缩
- 贝塞尔结合CAShapeLayer绘制路线,CABasicAnimation实现的小动画
- setTimeout和setInterval你真的了解吗?
- Apache Maven 入门篇
- 【mongodb用户和身份认证管理】
- HTML table标签和其子标签如td,td等不同区域focus然后回车的行为差异
- BZOJ2216: [Poi2011]Lightning Conductor
- linux 下安装部署mq,RocketMQ在linux下安装部署
- mysql 主键索引如何创建_SQL创建索引、主键
- 内涝预测过程的噪音_提高人工智能模型准确率的测试过程中需要注意什么?
- 华硕固件默认ip,新路由3 newifi d2刷机刷华硕固件教程
- 如何删除ie浏览器缓存文件、缓存js
- Switch case 使用及嵌套语法
- SpringBoot的旅游系统毕业设计分享和讲解
- 遥感相关专业英语词汇汇总
- 看得见风和日丽,看不见风起“云”涌
- VC++中unhandled exception的处理
- 国内oschina Maven公共仓库
- 我的 Java 后端面试日记!
热门文章
- 计算机动画题目,3DMax2014计算机动画作业练习题
- 1156:求π的值(函数题)
- 第九届全国大学生GIS应用技能大赛下午(试题及参考答案含数据)
- Julia数据可视化:Plots.jl包的使用
- 德国GMX Email免费邮箱服务65GB超大邮件存储空间
- GROMACS .mdp 选项翻译及笔记
- c语言常用颜色种类,C语言常用颜色种类(国外英语资料).doc
- 圣剑传说 玛娜传奇(Legend of Mana)(LOM)主原料取得方法
- HTB-SolidState
- Windows10使用命令行打开3389_内网渗透(实验)之域渗透深入弹shell开3389拿域控