oracle函数胡书写,Oracle中序列表sequence的使用.docx
Oracle中序列表sequence的使用
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按
序列号排序的地方。
1、 create sequence
你首先要有create sequence或者create any sequence权限,
create sequence emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回sequence的当前值
NEXTVAL=增加sequence的值,然后返回sequence值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- NSERT语句的VALUES中
- UPDATE 的 SET中
可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval, LEWIS, CLERK,7902, SYSDATE, 1200, NULL, 20);
SELECT empseq.currval FROM DUAL;
但是要注意的是:
- 第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,
然后返回增加后的值。CURRVAL 总是返回当前sequence的值,但是在第一次NEXTVAL
初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次sequence的值,
所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。明白?
- 如果指定CACHE值,oracle就可以预先在内存里面放置一些sequence,这样存取的快
些。
cache里面的取完后,oracle自动再取一组到cache。 使用cache或许会跳号, 比如
数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可
以在create sequence的时候用nocache防止这种情况。
2、 Alter sequence
你或者是该sequence的owner,或者有ALTER ANY sequence权限才能改动sequence。 可
以alter除start值之外的所有sequence参数。如果想要改变start值,必须drop sequence
再re-create。例子:
ALTER sequence emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 到10000后从头开始
NOCACHE;
影响sequence的初始化参数:
sequence_CACHE_ENTRIES =
设置能同时被cache的sequence数目。
可以很简单的Drop sequence
DROP sequence order_seq;
展开阅读全文
oracle函数胡书写,Oracle中序列表sequence的使用.docx相关推荐
- oracle函数删除语法,Oracle Delete
oracle函数 的 Oracle Delete 在本教程中,您将学习如何使用Oracle DELETE语句从表中删除一行或多行. 要从表中删除一行或多行,请按如下所示使用Oracle DELETE语 ...
- oracle 函数插入操作,Oracle函数内部运用insert插入
Oracle函数内部使用insert插入 create or replace function GET_PRODUCT_ID_BY_NAME(productName varchar2) return ...
- oracle 函数 结果集,Oracle 中函数如何返回结果集
在Oracle中,用函数返回结果集有时候要用到,下面是demo: 在Oracle中,用函数返回结果集有时候要用到,,下面是demo: create or replace type t_test as ...
- oracle 函数参数类型,ORACLE 11g中的表值函数? (参数化视图)
搜索热词 过去我已经看过关于这个问题的讨论,比如 here.但是我想知道如果某个地方沿线,或许10g或11g(我们正在使用11g),ORACLE已经对"参数化视图"提供了更好的支持 ...
- Oracle函数的信息,Oracle中获取会话信息的两个函数分享
1. USERENV(OPTION) 返回当前的会话信息. OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE. OPTION='LANGUAGE'返回数据库的字符集. OP ...
- oracle 存储过程 胡勇,Oracle SQL:经典查询练手第二篇
本文与大家共同讨论与分享ORACLE SQL的一些常用经典查询,欢迎大家补充,同时你认为有那些经典的也可分享出来.在本文中,对每一个问题,你要是认为有什么更好的解决方法也欢迎你及时提出.交流与分享才能 ...
- 简述oracle函数的功能,Oracle 最常用功能函数经典汇总 (zz)
来源:ChinaITLab 收集整理 2004-6-14 10:58:00 * SQL Group Function * s (num can be a column or ex pression) ...
- oracle函数lad,Support | Oracle and MICROS Systems | Oracle 中国
Welcome to Oracle Support. We are pleased to announce the transition of support for Oracle's MICROS ...
- 三、Oracle 函数
一.Oracle 操作集 二.Oracle 数据类型 三.Oracle 函数 四.Oracle 视图 五.Oracle 序列 六.Oracle 同义词 七.Oracle 索引 八.Oracle PL/ ...
最新文章
- Using Regular Expression to validate a Guid
- 录音文件下载_音频转文字怎么转?大家都说好用的手机APP:录音转文字助手
- FESCAR:阿里重磅开源分布式事务解决方案
- Ie6下asp.net 中treeview自动随鼠标变小的修复
- 正则表达式(Java版整理)
- Spring源代码学习之How is Beans.xml loaded and parsed
- asp.mvc 4项目发布文件目录结构_Spring Boot项目搭建与启动
- 高级软件工程第六次作业:东理三剑客团队作业-3
- mplayer-ww-37356 compile with mingw gcc 4.5.1 修复无法播放wmv
- 算法 后减前最大值,zt
- 省A类竞赛二等奖--村先游项目VUE前端重构
- modbus 调试工具之modbus slave与modbus poll
- 防治计算机病毒微格教案反思,数字化微格教学实验室设备常见故障及处理方法...
- 斯坦福句法分析 java_使用Stanford Parser进行句法分析
- Namesilo域名注册流程
- 谁来拯救中国的语言文学
- Linux学习:文件、用户、磁盘管理总结
- Unity:碰撞检测方法
- GoogleHacking 语法篇
- HGOI 20190711 题解
热门文章
- JSP学习——语法(二)
- C#调用C++写的Dll时的运行时错误解决
- a,b为2个整型变量,在不引入第三个变量的前提下写一个算法实现 a与b的值互换...
- WEB前端性能优化小结
- 实战2--应用EL表达式显示投票结果
- [非技术参考]C#基础:使用Thread创建线程(1)
- [30期] 第一个项目
- 欢迎大家加入我的圈子
- linux内核seq_file接口
- 零基础学python-3.2 变量赋值