oracle同义词讲解

oracle同义词讲解

ID:40572577

大小:36.34 KB

页数:15页

时间:2019-08-04

oracle同义词讲解_第1页
oracle同义词讲解_第2页
oracle同义词讲解_第3页
oracle同义词讲解_第4页
oracle同义词讲解_第5页
资源描述:

《oracle同义词讲解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、o什么是同义词ü同义词是Oracle数据库中对象的别名,我们知道在Oracle数据库中对象包括表、视图、物化视图(Oracle10g)、触发器、序列号、函数、过程以及Java对象等,Oracle可以为这些对象创建同义词。ü使用同义词的主要目的是方便用户访问属于其他用户的数据库对象,或出于安全目的,因为同义词名字具有随机性,没有限制,这样就隐藏了创建同义词的原始对象的信息。同义词可以是公有的,也可以是私有的。顾名思义,公有同义词是任何用户都可以使用的,而私有同义词只有指定的用户可以使用,没有授权其他用户无法访问某一个用户的私有同义词o创建公有

2、同义词公有同义词对数据库的所有用户有效,一般是某种应用的所有者创建如过程或程序包的公有同义词,以便其他用户可以使用它们ü创建公有同义词SQL>createpublicsynonymdepartmentforscott.dept;ü使用公有同义词SQL>connsystem/oracleSQL>select*2fromdepartment;o创建私有同义词公有同义词对数据库的所有用户有效,一般是某种应用的所有者创建如过程或程序包的公有同义词,以便其他用户可以使用它们ü创建私有同义词SQL>connsystem/oracleSQL>create

3、synonymdforscott.dept;ü使用私有同义词SQL>connsystem/oracleSQL>select*2fromd;ü其他用户使用私有同义词的示例SQL>connscott/oracleSQL>select*2fromd;o删除同义词删除同义词的指令很简单,使用DROP关键字,但是删除公有同义词时必须使用PUBLIC关键字,而删除私有同义词时就不需要。ü删除公有同义词departmentSQL>droppublicsynonymdepartment;ü删除私有同义词d。SQL>connsystem/oracleSQL>

4、dropsynonymd;o切换用户模式如果当前在一个用户模式下,而需要使用另一个用户模式下的对象,则可以在当前用户模式下切换用户,如当前用户是SYSTEM。示例:ü使用SYSTEM模式登录数据库SQL>connsystem/oracleü将当前模式切换到SCOTT用户。SQL>altersessionsetcurrent_schema=scott;o什么是序列号Oracle使用序列生成器自动产生用户可以在事务中使用的唯一序列号,该序列号是一个整数类型数据,序列生成器主要完成在多用户环境下产生唯一的数字序列,但是不会造成额外的磁盘I/O或事

5、务锁。简单的说序列号是Oracle数据库的一个对象,该对象产生唯一序列号。o使用序列号的优点在不使用序列号时,如果多个用户同时向EMP表中插入一条员工记录,用户必须等待以得到下一个可用的员工号,而一旦使用序列号则用户无需相互等待就可以得到下一个可用的员工号。序列生成器会自动为每个用户创建正确的员工编号oOracle的序列号有如下特点:ü序列号是独立于表的对象,由Oracle自动维护。ü序列号可以对多个用户共享使用,即同一个序列对象供多个表使用且相互独立。ü在SQL语句中使用序列号就可以使用它产生的序列号。o创建序列号的语法o创建序列号的语句

6、格式如下:CREATESEQUENCEsequence_name[STARTWITHn][INCREMENTBYn][{MAXVALUEn

7、NOMAXVALUE}][{MINVALUEn

8、NOMINVALUE}][{CACHEn

9、NOCACHE}][{CYCLEn

10、NOCYCLE}]o下面依次解释各参数的含义:üSTARTWITHn:序列号初始值,默认值为1。üINCREMENTBYn:序列号的步进幅度,默认步进幅度为1。üMAXVALUEn:定义序列号的最大值。üNOMAXVALUE:不设置序列号的最大值,但是我们知道计算机对于数据的表达

11、是有限的,实际上这个值当序列号是升序时为1027,序列号为降序时为-1。üMINVALUEn:定义序列号的最小值。üNOMINVALUE:不定义序列号的最小值,但是和参数NOMAXVALUE对应该值对于升序的序列号最小值为1,对于降序的序列号的最小值为-1026üCACHEn:Oracle服务器会预分配n个序列号并保保存在内存中。üNOCACHE:Oracle服务器不会预分配序列号并保保存在内存中。üCYCLEn:定义序列号在达到最大值或最小值后,将继续产生序列号。üNOCYCLE:定义序列号在达到最大值或最小值后,不再产生序列号。o创建序

12、列号ü准备工作1.伪列:currval和nextval2.创建一个表employeesSQL>createtableemployees2(employee_idnumber(6)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。