概述
同义词是数据库当前用户通过给另外一个用户的对象创建一个别名,可以通过对别名进行查询和操作,从而直接操作该数据库对象。
同义词类似于视图功能,支持对表进行增删改查。OceanBase 数据库对象如表、视图、函数、存储过程、序列、程序包、同义词等,数据库管理员均可以根据实际情况为其定义同义词。
同义词扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互。经常用于简化对象访问和提高对象访问的安全性。
同义词类型
同义词类型包括普通同义词和公用同义词。
普通同义词:普通用户创建的同义词一般都是私有同义词,普通同义词只能当前用户可以访问,其他用户仅在授权后才可访问,当前用户具有创建同义词权限。
公用同义词:一般由具有 DBA 角色(如:system)的用户创建,所有用户都可以访问。
具体请参考 OceanBase 数据库。
如上图所示,创建同义词包含以下 8 个步骤:
1. 指定同义词名称。
本文档以在 ODC 中创建员工表同义词(syn_employee)为例,对 SYS 数据库中的 employee 表创建同义词 syn_employee。
文中所使用的均为示例数据,您可根据实际情况对数据进行替换。
操作步骤
步骤一:指定同义词名称
在 OceanBase 开发者中心(OceanBase Developer Center,ODC)单击连接名进入连接后,在左导航栏中单击 同义词 标签可以查看同义词列表,同义词列表按类型分为普通同义词列表和公用同义词列表。在同义词列表的右上角,单击 + 创建同义词,或是在 ODC 上方导航栏中单击 新建 > 同义词 以创建所需对象。
在 新建同义词 中,指定同义词名称。
步骤二:指定对象所有者
指定所属 Schema。
步骤三:指定对象类型
指定对象类型:表或者视图。
步骤四:指定对象名称
指定所创建同义词对应的对象名称。
步骤五:指定同义词类型
指定同义词类型:普通同义词或者公用同义词。
步骤六:确定新建同义词
单击 下一步:确定 SQL,进入 SQL 创建确认页面。
步骤七:编辑同义词
在 SQL 创建确认页面,编辑同义词语句。
同时,在编辑页面的工具栏中提供了以下功能键:
功能 | 说明 |
格式化 | 单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。 |
查找/替换 | 在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。 |
撤销 | 将脚本回退到上一步操作执行的结果。 |
重做 | 执行 撤销 操作后,对脚本重新执行撤销前的操作。 |
大小写 | 提供 全部大写、全部小写 和 首字母大写 三种效果,为脚本中选中的语句转换为对应形式。 |
缩进 | 提供 添加缩进 和 删除缩进 两种效果,为脚本中选中的语句添加或删除包含的缩进。 |
注释 | 提供 添加注释 和 删除注释 两种效果,将脚本中选中的语句转换为注释或转换为 SQL 语句。 |
IN 值转化 | 可以将如 A B 的格式转化为 ('A','B') 的格式。 |
在语句编辑页面中会根据在 新建同义词 弹窗中指定的信息生成对应的同义词定义语句,用户需要直接修改语句。
用户可以在 SQL 创建确认页面编辑创建的同义词语句。语法格式如下:
CREATE OR REPLACE SYNONYM syn_name FOR schema_name.object_name;
参数说明:
参数 | 说明 |
OR REPLACE | 创建同义词时,如同义词存在则更新。 |
syn_name | 同义词的名称。 普通同义词名称在某个 Schema 下必须是唯一的。 |
schema_name | 指定对象所属的数据库 Schema。 |
object_name | 指定对象名称。 |
步骤八:完成新建同义词
确认语句后,单击页面右上角的 创建 按钮,完成同义词的创建。同义词创建后不支持修改。
语法格式:
SELECT * FROM syn_name ([syn_parameter[,…])
示例:
SELECT * FROM syn_employee;