1、什麼是序列呢?
序列是一資料庫物件,利用它可生成唯一的整數。一般使用序列自動地生成主碼值。乙個序列的值是由特別的oracle程式自動生成,因而序列避免了在運用層實現序列而引起的效能瓶頸。
oracle序列允許同時生成多個序列號,而每乙個序列號是唯一的。 當乙個序列號生成時,序列是遞增,獨立於事務的提交或回滾。容許設計預設序列,不需指定任何子句。該序列為上公升序列
,由1開始,增量為1,沒有上限。
2、建立/修改序列的語法
--建立序列的語法 --3、序列引數說明create sequence [user.]sequence_name
[increment by n]
[start with n]
[maxvalue n | nomaxvalue]
[minvalue n | nominvalue];
--修改序列的語法--
alter sequence [user.]sequence_name
[increment by n]
[maxvalue n | nomaxvalue]
[minvalue n | nominvalue];
increment by: 指定序列號之間的間隔,該值可為正的或負的整數,但不可為0。序列為公升序。忽略該子句時,預設值為1。4、序列示例start with:指定生成的第乙個序列號。在公升序時,序列可從比最小值大的值開始,預設值為序列的最小值。對於降序,序列可由比最大值小的值開始,預設值為序列的最大值。
maxvalue:指定序列可生成的最大值。
nomaxvalue:為公升序指定最大值為1027,為降序指定最大值為-1。
minvalue:指定序列的最小值。
nominvalue:為公升序指定最小值為1。為降序指定最小值為-1026。
--建立示例表 --5、示例結果create table student(
stuid number(9) not null,
stuname varchar2(20) not null,
stumsg varchar2(50) null)
-- 建立序列 student_stuid_seq --
create sequence student_stuid_seq
increment by 1
start with 1
minvalue 1
maxvalue 999999999;
-- 更改序列 student_stuid_seq--
alter sequence student_stuid_seq
increment by 2
minvalue 1
maxvalue 999999999;
--獲取序列自增id --
select student_stuid_seq.nextval 自增序列id from dual;
-- 刪除序列 --
drop sequence student_stuid_seq;
--呼叫序列,插入student資料 --
insert into student(stuid,stuname) values(student_stuid_seq.nextval,'張三');
insert into student(stuid,stuname) values(student_stuid_seq.nextval,'李四');
--查詢插入的資料 --
select * from student
1)建立序列後,執行獲取序列自增id
2)修改序列後,執行獲取序列自增id
如何建立主鍵自增表 oracle
建立表 create table t student id number 10 not null,createtime date not null,constraint pk t student primary key id 新增注釋 comment on table t student is 學生...
ORACLE建立主鍵自增表
建立表,設定主鍵自增 create table stu uerid number 4 not null primary key,username varchar 20 userpass varchar 20 email varchar2 30 grade number 5 commit 小查一下 s...
Oracle如何建立自增主鍵
oracle如何建立自增主鍵 1.建立表並設定主鍵.2.建立序列.3.建立觸發器.www.2cto.com 例如 假設已建立好資料表 表名為tbl name,主鍵列為tbl id,其他列有tbl name tbl age,tbl 然後開始建立oracle序列 sql create sequence ...