暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T CREATE SYNONYM

墨天轮 2019-10-12
336

CREATE SYNONYM

功能描述

创建同义词。

注意事项

  • 创建同义词时,需要给出同义词链接的对象。
  • 创建同义词时,需要同义词对象存在。
  • 同义词的对象支持表、函数和视图,其它会提示对象不存在。
  • 创建同义词后,同义词对象如果删除或更改,同义词展开时将报错。
  • 可以通过系统视图MY_SYNONYMSADM_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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论