导航:首页 > 计算方法 > oracle序列值计算方法

oracle序列值计算方法

发布时间:2022-05-30 14:50:54

如何使用Oracle序列

如何使用Oracle序列:
Oracle序列(sequence)是一种数据库项,能够生成一个整数序列。通常用于填充数字类型的主键列。
1、创建序列:
CREATE SEQUENCE sequence_name
[START WITH start_num]
[INCREMENT BY increment_num]
[{MAXVALUE maximum_num|NOMAXVALUE}]
[{MINVALUE minimum_num|NOMINVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE cache_num|NOCACHE}]
[{ORDER|NOORDER}]
其中:
start_num:序列开始整数
increment_num:每次增加的整数增量
maximum:序列最大整数
minimum:序列最小整数
CYCLE:循环生成
NOCYCLE:不循环生成,默认值
cache_num:保存在内存中的整数的个数
NOCACHE:不缓存任何整数
例如:
CREATE SEQUENCE seq_test;(默认值)
CREATE SEQUENCE seq_test START WITH 1 INCREMENT BY 2;
2、使用序列:
SELECT seq_test.nextval FROM al;
insert into order_status2 (id) values (seq_test.nextval);
3、修改序列:
ALTER SEQUENCE语句来修改序列。可以修改的内容:
不能修改序列的初值
序列的最小值不能大于当前值
序列的最大值不能小于当前值
例如:ALTER SEQUENCE seq_test INCREMENT BY 3;
4、删除序列:
DROP SEQUENCE seq_test;

Ⅱ oracle 序列

序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

Ⅲ 关于oracle序列

是的,可以在任意select语句中出现,和任意表字段一起。

但是,取值会根据记录数递增。

比如说你的表中符合条件的记录数是4笔,序列从1开始

SELECT c_hy_czjl_seq.nextval,FIELD1 from TABLE1

则返回结果为

NEXTVAL FIELD1
---------------
1 VALUE
2 VALUE
3 VALUE
4 VALUE

再次查询返回结果为

EXTVAL FIELD1
---------------
5 VALUE
6 VALUE
7 VALUE
8 VALUE

Ⅳ oracle 计算两字符串之间存在的序列和数量的函数

select * from table t where ascii(t.colunm) between ascii('AAA') and ascii('DDD')

Ⅳ 关于oracle 序列值的问题 我有一个序列为41的序列 我使用sql 语句 序列名.nextval 测试生成的下一个id

你的高速缓存大小为20,现在查询的nextval是32,说明缓存中还存在部分ID,开始于41,是只下次新申请ID,是从41开始,一次申请20个放入内存中,使用nextval时则是一个一个取出来,使用的cash,就是为了提高序列的效率。

Ⅵ oracle 中怎么计算累计环比

企业商品交易价格指数(Corporate Goods Price Index,简称CGPI)是反映国内企业之间物质商品集中交易价格变动的统计指标,是比较全面的测度通货膨胀水平和反映经济波动的综合价格指数。CGPI调查是经国家统计局批准、由中国人民银行建立并组织实施的一项调查统计制度。CGPI的前身是国内批发物价指数(Wholesale Price Index,简称WPI),指数编制始于1994年1月。 WPI七年多的时间序列所描述的我国物价总水平涨落起伏,较客观地反映了这期间经济运行变化轨迹,其分类指数也与客观经济结构的变化十分吻合,我国投资形势的阶段性变化与农产品、工业消费品供求关系的改变,都在WPI中的投资品价格指数和农产品价格指数、消费品价格指数的变化上得到了印证。WPI对物价形势判断和宏观经济监测发挥了积极作用,为中央银行制定、调整货币政策提供了全面、及时反映我国币值稳定状况的价格指数指标。 近年来,随着我国市场经济的发展,经济结构和市场物流特点都发生了显着变化,投资品由生产商直接销售给最终用户的份额越来越大,而且由于信息与交通事业的迅速发展,消费品流通也具备了“货进源头”的条件,中间批发销售环节越来越少,因而这项价格调查的采价环节客观上将逐渐趋向于生产商。再者,批发物价指数的“批发”容易混同一般“商品批发”的概念,不能充分体现其综合价格指数的实质。基于上述考虑,人民银行决定将“国内批发物价指数”名称更改为“企业商品交易价格指数”。 企业商品交易价格指数由以下内容构成: 一、价格调查 1.CGPI代表商品样本。共选择代表商品791 种,代表规格品为1700个。其价格调查对象范围:(1)在国内生产并且在国内销售的物质商品;(2)资产交易如房地产,由于权数巨大且不稳定,不包括在调查范围之内;(3)某些特殊物质产品如飞机、船舶、武器弹药等,或很难确定其权重或不能进行连续价格调查的产品,不包括在调查范围之内。 2.价格调查环节。原则上是商品流通中企业间集中交易的价格,一般是第一次批发商品销售价格,对于不通过批发环节而直接销售给用户的商品,如专用设备等,则调查厂家的出厂价格。 3.商品调查地域范围。以36个大中城市为重点,承担70%的价格调查任务;另有200多个中小城市作为补充,承担30%的价格调查任务。除西藏以外的全国各省、区、直辖市都有CGPI调查布点,报价基点企业约2700个。 4.采价频度。每月调查代表商品的三个时点(5日、15日、25日)价,或称上旬价、中旬价、下旬价。 5.目前CGPI报价规模。总采价条数约10500条,平均每条规格品约有6.5条报价。 二、指数分类体系 根据宏观经济分析监测的需要,CGPI设计了三种分类,即按国家标准行业、按生产过程、按用途(需求)分类。第一种分类称为“基本分类”;第二、第三种分类,统称为“特殊分类”。 1.基本分类。按照国家产业标准划分为五个层次,分别是部门、行业、商品群、商品、规格品。 2.特殊分类。在企业商品交易价格基本分类的基础上,又按照商品的生产过程和需求等性质分别做了特殊分类。按生产过程划分为初级产品、中间产品、最终产品;按需求分为投资品和消费品。消费品既可以分为食品和非食品,又可以分为耐用消费品和非耐用消费品;投资品既可划分为固定资产投资品和非固定资产投资品,也可划分为生产用原材料、建设用材料和劳动资料。 三、权数测算 CGPI权重数据的测算,主要依据以下四类统计指标和调查资料:①投入产出表的总产出等指标数据;②工业普查的工业品销售额数据;③农业统计资料;④调查咨询资料。 按照国际惯例,CGPI五年更换一次权数。 四、企业商品交易价格指数编制方法 1.企业商品交易价格指数采用指数法处理原始价格数据。即不计算单个商品报告期与基期的平均价,而是对应于该商品每个企业的报价,计算出若干个价格指数,再用这些价格指数的(加权)平均数来表示该商品价格指数。 2.采用几何平均公式逐层加权平均计算企业商品价格指数。 3.直接计算月环比指数,再推算定基指数和其他滚基指数(季环比、年距指数等 )
关于PPI你可以在网络里搜一下。

Ⅶ Oracle 序列问题

这和序列的cache有关,默认cache为20,也就是每次拿出20个放到内存中,当实例崩溃或者内存清洗后则会发生断号的情况。如果你想解决这个问题,可以设置序列的cache为1

--------------------------------
在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 的例子
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序列

1. oracle的逻辑是,同一会话中,必须先通过NEXTVAL后,才能获取CURRVAL值
2. 关于跳号,应该是cache的作用
你可以在SQL窗口打出sequence名称,右键-> 属性,或右键->查看,来查看SEQ信息
3. oracle的逻辑sequence是不会rollback的,如果想要改变start值(或当前值),必须 drop sequence 再 re-create .

给你个说明:
CREATE SEQUENCE test_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
一旦定义了test_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值(第一查询时会报未初始化,调用一次NEXTVAL后可用)
NEXTVAL=增加sequence的值,然后返回 sequence 值
比如:
test_sequence.CURRVAL
test_sequence.NEXTVAL
可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- NSERT语句的VALUES中
- UPDATE 的 SET中

Ⅸ oracle中,在不用nextval的情况下,如何得到序列当前值

select your_seq_name.currval from al;
可以得到当前值,且不会增加序列。
不过需要注意的是如果该序列是第一次使用,是不能用currval的,因为还没初始,必须至少用nextval一次后才能用currval。

Ⅹ 关于oracle数据库中序列的问题

当序列cache某一段值的时候,序列的最大值已经被改写了,数据库重启后,序列自动从最大值开始继续向后cache,这样设计的目的是确保序列值不重复~

阅读全文

与oracle序列值计算方法相关的资料

热点内容
肥料结块的种植方法 浏览:311
对墙的正确锻炼方法 浏览:695
手腕锻炼方法图片 浏览:52
如何度过低潮专家传授6种方法 浏览:956
卫生间顶板排水支管安装方法 浏览:367
led轨道射灯安装方法图解 浏览:14
淘宝卖家留言栏在哪里设置方法 浏览:769
种菜的方法视频教程大全 浏览:884
秋天嗓子哑了有什么方法可以恢复 浏览:848
小企业会计制度设计的研究方法 浏览:695
数学广角的方法与技巧图片 浏览:331
比利时壶使用方法 浏览:806
用简便方法计算65000除以700 浏览:638
带状疱疹中医治疗方法 浏览:154
换热器的计算方法 浏览:140
电子秤的安装方法图解 浏览:892
三星电话储存位置在哪里设置方法 浏览:574
自制最简单的折叠方法 浏览:239
15X104用简便方法计算 浏览:851
excel如何转换成word无表格的方法 浏览:210