统一SQL 支持 创建和删除 同义词 Synonym

目录

统一SQL介绍

同义词

描述

分类 

基本特性

统一SQL支持

LightDB oracle 模式

创建同义词

删除同义词 

OceanBase oracle 模式

创建同义词

删除同义词 

DM

创建同义词

删除同义词 


统一SQL介绍

详见:统一SQL参考手册

同义词

描述

        同义词 (Synonym)是 Oracle 租户中表、视图、物化视图、序列、存储过程、函数、包、类型、用户自定义类型,或是其他的同义词的别名。由于其只是一个别名,所以除了在数据字典中的定义不占任何空间。

分类 

  • 同义词有两种类型,Public 同义词和 Private 同义词。

  • Public 同义词属于 PUBLIC 组,每个用户都可以访问。Private 同义词属于对象所有者,只有其显式授权后其他用户才可访问。

  • 公有同义词一般由 DBA 创建,普通用户如果希望创建公有同义词,则需要 CREATE PUBLIC SYNONYM 系统权限。

基本特性

        同义词扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互。经常用于简化对象访问和提高对象访问的安全性。

oracle官方链接:CREATE SYNONYMDROP SYNONYM


统一SQL支持

        统一SQL24.1.0.0版本开始支持创建和删除同义词的转换。目前支持三个信创数据库的转换

  • Oracle2LightDB_Oracle
  • Oracle2OceanBase_Oracle
  • Oracle2DM

备注:@dblink 暂不支持


LightDB oracle 模式

创建同义词

[ EDITIONABLE | NONEDITIONABLE ]和[ SHARING = { METADATA | NONE } ] 在LightDB-Oracle中将被作为语法糖处理,[ @ dblink ]暂不支持!

  • 使用案例
-- 转换前Oracle SQL:
CREATE OR REPLACE EDITIONABLE SYNONYM employee SHARING = METADATA FOR user2.emp;


-- 转换后LightDB-Oracle SQL:
CREATE OR REPLACE SYNONYM employee FOR user2.emp;

删除同义词 

[FORCE] 在LightDB-Oracle中将被作为语法糖处理!

  •  使用案例
-- 转换前Oracle SQL:
DROP PUBLIC SYNONYM user1.employee FORCE;


-- 转换后LightDB-Oracle SQL:
DROP PUBLIC SYNONYM user1.employee;

 

OceanBase oracle 模式

创建同义词

[ EDITIONABLE | NONEDITIONABLE ]和[ SHARING = { METADATA | NONE } ] 在OceanBase-Oracle中将被作为语法糖处理,[ @ dblink ]暂不支持!

  • 使用案例
-- 转换前Oracle SQL:
CREATE OR REPLACE EDITIONABLE SYNONYM employee SHARING = METADATA FOR user2.emp;


-- 转换后OceanBase-Oracle SQL:
CREATE OR REPLACE SYNONYM employee FOR user2.emp;

 

删除同义词 

  •  使用案例
-- 转换前Oracle SQL:
DROP PUBLIC SYNONYM user1.employee FORCE;


-- 转换后OceanBase-Oracle SQL:
DROP PUBLIC SYNONYM user1.employee FORCE;

DM

创建同义词

[ EDITIONABLE | NONEDITIONABLE ]和[ SHARING = { METADATA | NONE } ] 在达梦中将被作为语法糖处理,[ @ dblink ]暂不支持!

  • 使用案例
-- 转换前Oracle SQL:
CREATE OR REPLACE EDITIONABLE SYNONYM employee SHARING = METADATA FOR user2.emp;


-- 转换后达梦 SQL:
CREATE OR REPLACE SYNONYM employee FOR user2.emp;

删除同义词 

[FORCE] 在达梦中将被作为语法糖处理!

  •  使用案例
-- 转换前Oracle SQL:
DROP PUBLIC SYNONYM user1.employee FORCE;


-- 转换后达梦 SQL:
DROP PUBLIC SYNONYM user1.employee;

Oracle到其余信创数据库的转换用法请参考:统一SQL参考手册

  • 51
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值