- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.4.1创建、使用同义词 1. 利用OEM创建同义词 * * 2. 利用CREATE SYNONYM命令创建同义词 语法格式: CREATE [PUBLIC] SYNONYM [schema.]synonym_name FOR [schema.]object 8.4.2查看、删除同义词 1. 利用OEM删除同义词 2. 利用DROP SYNONYM命令删除同义词 语法格式: DROP [PUBLIC] SYNONYM [schema.]synonym_name 说明: PUBLIC表明删除一个公用同义词。Schema指定将要删除的同义词的用户方案。synonym_name为将要删除的同义词名称。 * * ??查看同义词的名称 ??select * from user_synonyms; 8.5、序列 序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。 * * 8.5.1、创建序列 利用SQL命令创建序列语法格式为: create sequence [schema.] sequence_name [increment by integer] [start with integer] [maxvalue integer | nomaxvalue] [minvalue integer | nominvalue] [cycle | nocycle] [cache integer | nocache] [order | noorder] * * INCREMENT BY 用于定义序列的步长,如果省略,则默认为1,如果出现负值,则代表序列的值是按照此步长递减的。 START WITH 定义序列的初始值(即产生的第一个值),默认为1。 MAXVALUE 定义序列生成器能产生的最大值。选项NOMAXVALUE是默认选项,代表没有最大值定义,这时对于递增序列,系统能够产生的最大值是10的27次方;对于递减序列,最大值是-1。 MINVALUE定义序列生成器能产生的最小值。选项NOMAXVALUE是默认选项,代表没有最小值定义,这时对于递减序列,系统能够产生的最小值是?10的26次方;对于递增序列,最小值是1。 CYCLE和NOCYCLE 表示当序列生成器的值达到限制值后是否循环。CYCLE代表循环,NOCYCLE代表不循环。如果循环,则当递增序列达到最大值时,循环到最小值;对于递减序列达到最小值时,循环到最大值。如果不循环,达到限制值后,继续产生新值就会发生错误 CACHE(缓冲)定义存放序列的内存块的大小,默认为20。NOCACHE表示不对序列进行内存缓冲。对序列进行内存缓冲,可以改善序列的性能。 order保证序列产生的顺序和请求的顺序是一致的,在并行模式下如果A、B同时对序列请求那么先产生的序列号必然返回给先请求的用户。例如当前序列号为10,A先请求B后请求那么11一定返回给A,12给B,在noorder的情况下,有可能11给B,10给A cache跳号 建立序列时cache选项可以把N个序列存在cache中,然后用户到cache取序列,当oracle不正常关闭时,cache中的内容就会丢失,而再重新生成序列等待用户来取,这样就可能丢失一部分序列,出现跳号. Rollback缺口 在执行语名时提取出了序列,当执行rollback语名取消事务操作时,被提取了来的序列就丢了,所以有rollback缺口 8.5.2、序列的属性 序列有两个属性 1.nextval属性 该属性返回序列生成的下一个值. 2.currval属性 该属性返回序列的当前值. 注意:在第一次使用时必须首先使用序列的nextval属性,然后才能正确访问currval. * * 8.5.3、使用序列 create sequence sq increment by 2 start with 1 maxvalue 100 minvalue 1 cycle cache 20; * * create table tm (id number(4), name char(8)); create table tn (id number(4), name char(8)); insert into tm values(sq.nextval,aa); insert into tn values(sq.nextval,aa); insert into tm val
文档评论(0)