189 8069 5689

oracle如何查看序列 oracle查找序列

Oracle 怎样查询所有自增的序列名

Oracle 怎样查询所有自增的序列名

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网页空间、营销软件、网站建设、湘潭县网站维护、网站推广。

你如果指的是需要自增值的字段,你需要创建sequence。想要查询自增值, 可以在Sqlplus下运行:

select seq1.nextval from dual; (第一次)

select seq1.currval from dual; (当前值)

使用insert语句时:insert into 表 (需要使用自增值的字段,其它字段1,其他字段2) values (seq1.nextval, 其它字段1所给值,其它字段2所给值),然后commit。

oracle中如何查询序列

你的问题很笼统,你是想知道序列的当前值吗?select 序列.nextval from dual就可以了,这个查出来的就是当前序列下一个可以使用的值,序列每读一次都会加1的,比如这次的序列.nextval是18,你下次使用的时候就是19了

oracle如何查询当前用户有哪些序列?

查询当前用户的

1select * from user_sequences

查询所有的

1select * from all_sequences

其中sequence_name就是序列的名字

oracle 创建的序列在哪里?

在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创建的序列?

执行如下sql:

select * from user_sequences;

如果需要查看某个特定的序列,如下:

select * from user_sequences  where  sequence_name like '%T_SELL_BRAND%';

select * from user_sequences  where  sequence_name='SEQ_T_SELL_BRAND';

注意:序列名区分大小写。

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。

具体步骤如下:/导致这种情况的原因主要是……

oracle 如何判断一个序列是否存在?

你先上user_Sequences

视图中查询你想要创建的序列信息zhidao,有则内不建,没有则建。

SELECT

count(*)

FROM

All_Sequences

where

Sequences_name='大写序列名';

看count(*)

判断是容否操作。

----

以上,希望对你有所帮助。


文章题目:oracle如何查看序列 oracle查找序列
标题路径:http://jkwzsj.com/article/hipges.html

其他资讯