Oracle数据库,创建一个序列,怎么设定该最大值无限制小为 1

Oracle数据库,创建一个序列,怎么设定该最大值无限制小为 1,第1张

create sequence seq2

NOMAXVALU

start with 1

increment by 1;

1创建序列

ORACLE序列的语法格式为:

CREATE SEQUENCE 序列名

[INCREMENT BY n]

[START WITH n]

[{MAXVALUE/ MINVALUE n|NOMAXVALUE}]

[{CYCLE|NOCYCLE}]

[{CACHE n|NOCACHE}];

参考自:>

Sequences目的,就是得到一个自动递减或递增的值。

Sequences就是一个计数器,类似于Sql Server数据库中自动增加的数字。

因为Oracle数据库中,建表的时候,没有自动增量的这样一个数字类型字段,

所以有时候需要用到这类字段的时候,就要调用Sequences来取得值。

Sequences可以设置为,当使用到设定的最大值时,是否重新开始循环使用。

调用时,直接写在Sql里即可,比如:

select sequenceNEXTVAL from dual;

sqlserver的就不说了,楼上已经给出来了,有错误你稍加改动一下就可以,

给你个oracle的,相对sqlserver比较麻烦

--先建表

create table abc (id int,

name varchar2(10));

--建立一个sequence

create sequence seq_abc

minvalue 1

maxvalue 2000000000

start with 1

increment by 1

nocache

order;

--为abc表建立自增触发器

create or replace trigger trg_abc

before insert on abc for each row

begin

select seq_abcnextval into :newid from dual;

end;

--插入数据

insert into abc(name) values ('test1');

insert into abc(name) values ('test2');

--提交

commit;

使用oracle数据库中的关键字sequence来实现目的。

//创建mySeq

create sequence mySeq

start with 1

increment by 2

maxvalue 40

minvalue 1

cycle

//创建用户表

create table USER

(

Id int,

CompName varchar2(20)

)

插入语句可以这样写:

insert into USER values(mySeqnextVal,'AA')

这样的话每次插入的ID就是自动递增的

扩展资料:

sequence用法:

create sequence <序列名称>

start with <起始数>

increment by <增长量>

[maxvalue 值]

[minvalue 值]

[cycle 当到达最大值的时候,将继续从头开始]

[Nocycle -- 一直累加,不循环]

[Cache ]

参考资料:百度百科-oraclesequence

以上就是关于Oracle数据库,创建一个序列,怎么设定该最大值无限制小为 1全部的内容,包括:Oracle数据库,创建一个序列,怎么设定该最大值无限制小为 1、数据库中的key seq是什么、在oracle数据库的建表中,Sequences值的目的是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10202732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存