最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

第19讲 Oracle方案对象:序列的创建,使用,修改,删除

来源:动视网 责编:小OO 时间:2025-10-04 05:05:00
文档

第19讲 Oracle方案对象:序列的创建,使用,修改,删除

第19讲Oracle方案对象:序列的创建,使用,修改,删除1.序列(Sequence):序列的概念:序列是一个数据对象,利用它可以生成唯一的整数。序列的用途:一般使用序列自动生成主键值。2.序列的建立语法:CREATESEQUENCEsequence_name[STARTWITHn]--设定起始值[INCREMENTBYn]--设定增量值[MINVALUEn]--最小值[MAXVALUEn]--最大值[CACHEn]--缓存数量[CYCLE|NOCYCLE]--是否循环,默认无循环[ORDER
推荐度:
导读第19讲Oracle方案对象:序列的创建,使用,修改,删除1.序列(Sequence):序列的概念:序列是一个数据对象,利用它可以生成唯一的整数。序列的用途:一般使用序列自动生成主键值。2.序列的建立语法:CREATESEQUENCEsequence_name[STARTWITHn]--设定起始值[INCREMENTBYn]--设定增量值[MINVALUEn]--最小值[MAXVALUEn]--最大值[CACHEn]--缓存数量[CYCLE|NOCYCLE]--是否循环,默认无循环[ORDER
第19讲  Oracle方案对象:序列的创建,使用,修改,删除

1. 序列(Sequence): 

   序列的概念:序列是一个数据对象,利用它可以生成唯一的整数。

   序列的用途:一般使用序列自动生成主键值。

2. 序列的建立

语法:

CREATE SEQUENCE sequence_name

[START WITH n]        -- 设定起始值

[INCREMENT BY n]     -- 设定增量值

[MINVALUE n]          -- 最小值 

[MAXVALUE n]         -- 最大值

[CACHE n]              -- 缓存数量

[CYCLE | NO CYCLE]                -- 是否循环,默认无循环

[ORDER | NO ORDER ]                -- 是否有顺序,默认无顺序

注:

-起始值一定要大于等于最小值。

-序列的创建需要CREATE ANY SEQUENCE, CREATE SEQUENCE系统权限。

-省略所有的选项,创建一个默认的序列,由1开始,增量为1,

-序列的最大值为38位整数。

-

例子1:

CREATE SEQUENCE SCOTT.NEWS_SEQUENCE

START WITH 2

INCREMENT BY 1

MINVALUE 2

MAXVALUE 5

CACHE 2

CYCLE 

ORDER

例子2:

CREATE SEQUENCE DEPT_NO

1.序列的使用

1)取序列的下个值:

sequence_name.nextval

2)取序列的当前值:

sequence_name.currval

例子:

select NEWS_SEQUENCE.nextval from dual

select NEWS_SEQUENCE.currval from dual

insert into NEWS (newsno, newssubject ) values (news_sequence.nextval, ‘新闻标题’ )

自动在新闻表插入一个新闻编号。

2.序列的修改

语法:

ALTER SEQUENCE sequence_name

[INCREMENT BY n]     -- 设定增量值

[MINVALUE n]          -- 最小值 

[MAXVALUE n]         -- 最大值

[CACHE n]              -- 缓存数量

[CYCLE]                -- 是否循环

[ORDER]                -- 是否有顺序

注:Oracle9i中无法改变序列的起始值,

序列修改例子:

ALTER SEQUENCE SCOTT.NEWS_SEQUENCE

INCREMENT BY 2

MINVALUE 1

MAXVALUE 10

CACHE 2

NOCYCLE

NOORDER

3.序列的删除

语法: DROP SEQUENCE sequence_name

   

例子:

drop sequence DEPT_SEQUENCE

课前提问:

课后作业:

1.建立采购单号序列 : PurchaseOrderNextNo

2.建立销售单号序列:  SalesOrderNextNo

3.建立入库单号序列:  StockInNextNo

4.建立出库单号序列:  StockOutNextNo

      CREATE SEQUENCE emp_sequence

      INCREMENT BY 1

      START WITH 1

      NOMAXVALUE

      NOCYCLE

      CACHE 10;

     ALTER SEQUENCE emp_sequence

     INCREMENT BY 10

     MAXVALUE 10000

     CYCLE

     CACHE 20;

(1)举一个案例,大多数开发者使用select max(编号字段) from table。来取得下一个编号,会产生序列化的问题。

(2) 问题:如果定义一个序列myNo, 问如下语句是否产生相同的序列号,select myno.nextval, myno.nextval, myno.currval from dual

文档

第19讲 Oracle方案对象:序列的创建,使用,修改,删除

第19讲Oracle方案对象:序列的创建,使用,修改,删除1.序列(Sequence):序列的概念:序列是一个数据对象,利用它可以生成唯一的整数。序列的用途:一般使用序列自动生成主键值。2.序列的建立语法:CREATESEQUENCEsequence_name[STARTWITHn]--设定起始值[INCREMENTBYn]--设定增量值[MINVALUEn]--最小值[MAXVALUEn]--最大值[CACHEn]--缓存数量[CYCLE|NOCYCLE]--是否循环,默认无循环[ORDER
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top