背景
Oracle支持使用 CREATE SYNONYM 语句创建同义词,它是表、视图、序列、运算符、过程、存储函数、包、物化视图、Java 类模式对象、用户定义的对象类型或其他同义词的替代名称。同义词依赖于它的目标对象,如果目标对象被更改或删除,同义词就会变得无效。
LightDB在2024RP1版本里面,将支持同义词功能
支持范围表和视图,其他类型的同义词将在后续版本中支持。
语法格式
CREATE [ OR REPLACE ] [ PUBLIC ] SYNONYM synonym_name FOR object_name;
DROP [ PUBLIC ] SYNONYM [ IF EXISTS ] synonym_name;
表同义词使用场景案例:
CREATE TABLE bonus(ename VARCHAR2(10), job VARCHAR2(9), sal NUMBER, comm NUMBER);
INSERT INTO bonus(ename,job,sal,comm) VALUES('John','ACC_MGR',16000,8200);
INSERT INTO bonus(ename,job,sal,comm) VALUES('Bob','PUB_ACC',9000,4200);
CREATE OR REPLACE SYNONYM profits FOR bonus;
SELECT * FROM profits;
ename | job | sal | comm
-------+---------+-------+------
John | ACC_MGR | 16000 | 8200
Bob | PUB_ACC | 9000 | 4200
视图同义词使用场景案例:
CREATE OR REPLACE VIEW rewards AS SELECT * FROM bonus WHERE sal > 10000;
SELECT * FROM rewards;
ename | job | sal | comm
-------+---------+-------+------
John | ACC_MGR | 16000 | 8200
CREATE OR REPLACE SYNONYM dividend FOR rewards;
SELECT * FROM dividend;
ename | job | sal | comm
-------+---------+-------+------
John | ACC_MGR | 16000 | 8200
以上功能,将在2024RP1的LightDB版本与大家见面!