mysql实现oracle的同义词_Oracle的同义词(synonyms)详解

知识扩展:数据库对象

表、视图、序列、过程、函数、程序包,甚至其它同义词都可以创建同义词。

1、同义词:私有同义词、公有同义词。

私有同义词只能被当前模式的用户访问。私有同义词名称不可与当前模式的对象名称相同。要在自身的模式创建私有同义词,

用户必须拥有Create Synonym系统权限。要在其它用户模式创建私有同义词,用户必须拥有Create Any Synonym系统权限。

公有同义词可被所有的数据库用户访问。要创建公有同义词,用户必须拥有Create Public Synonym系统权限。

创建私有同义词语法:

Create [OR REPLACE] SYNONYM [schema.]synonym_name FOR [schema.]object_name;

其中:OR REPLACE表示在同义词存在的情况下替换该同义词。

synonym_name表示要创建的同义词的名称。

object_name指定要为之创建同义词的对象的名称。

示例1:create synonym s_emp for scott.emp;

创建公有同义词语法:

Create PUBLIC SYNONYM synonym_name FOR [schema.]object_name;

示例2:create public synonym emp_syn from scott.emp;

可以查询字典视图User_Synonyms来查看用户所创建的同义词的详细信息

删除同义词语法:Drop Synonym synonym_name; 删除公有同义词加上一个Public

此命令只删除同义词,不会删除对应的表。

2、序列:是用来生成唯一、连续的整数的数据库对象。序列通常用来自动生成主键或唯一键的值。

创建序列语法如下:

Create SEQUENCE sequence_name

[START WITH integer]

[INCREMENT BY integer]

[MAXVALUE integer|NOMAXVALUE]

[MINVALUE integer|NOMINVALUE]

[CYCLE|NOCYCLE]

[CACHE interger|NOCACHE];

其中:START WITH是指定要生成的第一个序列号。对于升序序列,其默认值为序列的最小值。对于降序序列,其默认值为序列的最大值。

INCREMENT BY是用于指定序列号之间的间隔。其默认值为1。如果integer为正值,则生成的序列将按升序排列,否则按降序排列。

MAXVALUE指定序列可以生成的最大值。

NOMAXVALUE这是默认选项,将升序序列的最大值设为10的27次幂,将降序序列的最大值设为-1。

MINVALUE指定序列的最小值。MINVALUE必须小于或等于START WITH的值,并且必须小于MAXVALUE。

NOMINVALUE这是默认选项,将升序序列的最小值设为1,将降序序列的最小值设为-10的26次幂。

CYCLE指定序列在达到最大值或最小值后,将继续从头开始生成值。

NOCYCLE这是默认选项。指定序列在达到最大值或最小值后,将不能再继续生成值。

CACHE使用CACHE选项可以预先分配一组序列号,并将其保留在内存中,这样可以更快的访问序列号。

NOCACHE此项则不会为加快速度而预先分配序列号。如果在创建序列时忽略了CACHE和NOCACHE选项&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle中,创建同义词可以使用以下语法: CREATE \[OR REPLACE\] \[PUBLIC\] SYNONYM \[schema.\]synonym_name FOR \[schema.\]object_name \[@dblink\]; 其中,\[OR REPLACE\]表示如果同义词已存在,则替换它;\[PUBLIC\]表示创建一个公共的同义词,所有用户都可以使用;\[schema.\]synonym_name表示同义词的名称;\[schema.\]object_name表示同义词所映射的对象的名称;\[@dblink\]表示如果对象位于另一个数据库中,可以使用数据库链接来指定。 例如,创建一个名为dept的同义词,映射到sa.dept表,可以使用以下语句: CREATE SYNONYM dept FOR sa.dept; 如果想要创建一个公共的同义词,可以使用以下语句: CREATE PUBLIC SYNONYM dept FOR sa.dept; 创建同义词后,可以使用以下语句查看已创建的同义词: SELECT * FROM user_synonyms;(对于专有的同义词) SELECT * FROM dba_synonyms;(对于公共的同义词) 如果需要删除同义词,可以使用以下语句: DROP SYNONYM dept;(对于专有的同义词) DROP PUBLIC SYNONYM dept;(对于公共的同义词) 请注意,创建和删除同义词需要相应的权限。如果当前用户没有创建同义词的权限,可以使用系统用户授予相应的权限,例如: GRANT CREATE ANY SYNONYM TO 用户名; #### 引用[.reference_title] - *1* [orcle同义词的创建](https://blog.csdn.net/qq_32792879/article/details/53117245)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Oracle数据库之同义词(SYNONYM)使用](https://blog.csdn.net/jssg_tzw/article/details/42300581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [oracle数据库创建同义词](https://blog.csdn.net/qq_33223299/article/details/84989132)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值