CREATE SYNONYM
功能描述
创建同义词。
注意事项
- 创建同义词时,需要给出同义词链接的对象。
- 创建同义词时,需要同义词对象存在。
- 同义词的对象支持表、函数和视图,其它会提示对象不存在。
- 创建同义词后,同义词对象如果删除或更改,同义词展开时将报错。
- 可以通过系统视图MY_SYNONYMS、ADM_SYNONYMS查看同义词。
- 执行该语句的用户需要有CREATE SYNONYM、CREATE ANY SYNONYM或者ALL PRIVILEGES的系统权限,普通用户不可以创建系统用户对象。
- 指定PUBLIC同义词并且给出同义词schema,检查不一致报错处理。
- 创建PUBLIC同义词时需拥有CREATE PUBLIC SYNONYM系统权限,否则会报错。
语法格式
CREATE [ OR REPLACE ] [ PUBLIC ] SYNONYM [ schema_name. ]synonym_name FOR [ schema_name. ]object_name
参数说明
- OR REPLACE
创建同义词时,若同义词存在则更新。
- [ schema_name. ]
用户名。不指定时默认是当前登录用户。
- PUBLIC
创建public用户的同义词,其他用户不需要授权直接访问同义词,但同义词对象权限仍然做检查。
创建普通用户同义词,可以和public用户中同义词同名。
- synonym_name
同义词,参见数据库对象名规范。
- object_name
同义词对象,参见数据库对象名规范,一个表/视图对应的同义词数量不做约束。
表示视图和表名。
示例
- 为视图privilege_view创建一个PUBLIC用户同义词和一个普通用户同义词。
--删除表privilege。 DROP TABLE IF EXISTS privilege;
--创建表privilege。 CREATE TABLE privilege(staff_id INT PRIMARY KEY, privilege_name VARCHAR(64) NOT NULL, privilege_description VARCHAR(64), privilege_approver VARCHAR(10));
--创建视图privilege_view,若该视图存在则更新该视图。 CREATE OR REPLACE VIEW privilege_view AS SELECT staff_id, privilege_name from privilege;
--为视图privilege_view创建一个PUBLIC用户同义词。 CREATE OR REPLACE PUBLIC SYNONYM pri_vi for privilege_view; --为视图privilege_view创建一个普通用户同义词。 CREATE OR REPLACE SYNONYM pri_vi for privilege_view;
- 为表privilege创建一个PUBLIC用户同义词和一个普通用户同义词。
--为表privilege创建一个PUBLIC用户同义词。 CREATE OR REPLACE PUBLIC SYNONYM pri for privilege; --为表privilege创建一个普通用户同义词。 CREATE OR REPLACE SYNONYM pri for privilege;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论