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值的目的是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)