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

华为GaussDB T CREATE SYNONYM创建同义词

原创 章芋文 2019-09-22
1181


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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论