欢迎来到天天文库
浏览记录
ID:36316385
大小:314.50 KB
页数:57页
时间:2019-05-09
《oracle数据库对象序列索引视图同义词》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库操作与管理语言OracleSQL数据库对象本章目标创建序列创建索引创建视图序列Sequence序列是一个数据库对象,用于生成一系列的整数。学习内容包括创建序列查询序列的信息使用序列修改序列删除序列创建序列-1可以使用CREATESEQUENCE语句来创建序列,语法如下:CREATESEQUENCEsequence_name[STARTWITHstart_num][INCREMENTBYincrement_num][{MAXVALUEmaximum_num
2、NOMAXVALUE}][{MINVALUEminimum_num
3、NOMINVALU
4、E}][{CYCLE
5、NOCYCLE}][{CACHEcache_num
6、NOCACHE}][{ORDER
7、NOORDER}];说明sequence_name:序列的名称start_num:序列开始的第一个整数,默认从1开始increment_num:每次增长的数值maximum_num:序列能够增长到的最大值NOMAXVALUE:对于序列最大值,不指定最大值,对于升序最大值是1027,对于降序是-1创建序列-2可以使用CREATESEQUENCE语句来创建序列,语法如下:CREATESEQUENCEsequence_name[STARTWITH
8、start_num][INCREMENTBYincrement_num][{MAXVALUEmaximum_num
9、NOMAXVALUE}][{MINVALUEminimum_num
10、NOMINVALUE}][{CYCLE
11、NOCYCLE}][{CACHEcache_num
12、NOCACHE}][{ORDER
13、NOORDER}];说明minimum_num:序列中的最小值,该值必须比start_num小,比maximum_num也要小NOMINVALUE:对于序列最小值,不指定最小值,对于升序最小值是1,对于降序最小值是-1026CYCLE:对于序
14、列的值达到最大值或最小值时的处理方法。如果是升序达到最大值了,那么下一个生成的值将是最小值;如果是降序达到最小值时,那么下一个值将是最大值。NOCYCLE:当序列的值达到最大或最小值时,序列将不再产生任何数值。默认是NOCYCLE。创建序列-3可以使用CREATESEQUENCE语句来创建序列,语法如下:CREATESEQUENCEsequence_name[STARTWITHstart_num][INCREMENTBYincrement_num][{MAXVALUEmaximum_num
15、NOMAXVALUE}][{MINVALUEminimu
16、m_num
17、NOMINVALUE}][{CYCLE
18、NOCYCLE}][{CACHEcache_num
19、NOCACHE}][{ORDER
20、NOORDER}];说明cache_num:保存在内存中缓存整数的数量,默认缓存的数量是20,最小的缓存数是2,最大的缓存数是CEIL(maximum_num-minimum_num)/ABS(increment_num)NOCACHE:表示没有缓存数字ORDER:保证整数的请求顺序是按照生成顺序得到的。NOORDER:不保证整数的请求顺序是按照生成顺序得到的。默认值。案例使用默认选项创建序列CREATESEQ
21、UENCEs_test;说明创建序列忽略了其他选项,那么将会使用默认值。start_num和increment_num都是1指定相关选项创建序列CREATESEQUENCEs_test2STARTWITH10INCREMENTBY5MINVALUE10MAXVALUE20CYCLECACHE2ORDER;创建降序的序列CREATESEQUENCEs_test3STARTWITH10INCREMENTBY-1MINVALUE1MAXVALUE10CYCLECACHE5;查看序列的信息可以通过查看user_sequences视图了解序列的信息查看序列
22、信息SELECT*FROMuser_sequencesORDERBYsequence_name;查询结果如下图所示:使用序列-1创建序列之后,序列可以产生一系列的数值。可以通过currval和nextval来访问它们来获取当前值和下一个值。例如SELECTs_test.nextvalFROMdual;在s_test序列中的第一个值是1,一旦序列被初始化之后,就可以从序列中获取当前值SELECTs_test.currvalFROMdual;使用序列-2s_test2序列的初始值是10,每次增加5,最大值为20执行3次SELECTs_test2.ne
23、xtvalFROMdual;说明由于设置了循环,当达到最大值20时,又会重新从10开始进行循环使用序列填充主键-1序列经常用于填充整型的
此文档下载收益归作者所有