17.GaussDB同义词管理

本文介绍了数据库中的同义词概念,包括其作用、创建不同对象(如表、视图、函数和存储过程)的同义词方法,以及权限要求。通过实例演示了同义词的创建、调用和删除,强调了其在提高安全性和数据访问灵活性方面的价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.同义词概述

同义词概述
同义词(SYNONYM)是数据库对象的别名,用于记录与其他数据库对象名间的映射关系,用户可以使用同
义词访问关联的数据库对象,支持的数据库对象包括:表、视图、函数和存储过程。
 若指定模式名称,则同义词在指定模式中创建。否则,在当前模式创建
 使用同义词时,用户需要具有对关联对象的相应权限,包括:
   SELECT、INSERT、UPDATE、DELETE、EXPLAIN、CALL

2.同义词管理包含如下内容

(1)创建表的同义词
(2)创建视图的同义词
(3)创建函数的存储过程并调用
(4)创建存储过程的同义词并调用
(5)删除同义词

3.同义词演示如下

-- 创建表的同义词
sjzt=> create synonym syn_t1 for t1;
CREATE SYNONYM
 -- 创建视图的同义词
sjzt=> create synonym syn_v1 for v_1;
CREATE SYNONYM
sjzt=> select * from syn_v1;
 id | ename | sal  | empno | deptno 
----+-------+------+-------+--------
  1 | xsq1  | 2000 |  6379 |     10
(1 row)


 -- 创建函数同义词
sjzt=> \df
                                                  List of functions
 Schema |         Name          | Result data type | Argument data types |  Type  | fencedmode | propackage | prokind 
--------+-----------------------+------------------+---------------------+--------+------------+------------+---------
 sjzt   | package_func_overload | integer          | col integer         | normal | f          | t          | f
(1 row)

--创建函数的存储过程并调用
sjzt=> create synonym syn_f_pfo for package_func_overload;
CREATE SYNONYM
sjzt=> select package_func_overload(1);
one int parameters 122
 package_func_overload 
-----------------------
                     0
(1 row)

--创建存储过程的同义词并调用
sjzt=> create synonym syn_proc_emp for my_proc;
CREATE SYNONYM
sjzt=> call syn_proc_emp();
inner emp_id =7799
outer_var =6688
outer emp_id =7788
 syn_proc_emp 
--------------
 
(1 row)

--删除同义词
sjzt=> drop synonym syn_proc_emp;
DROP SYNONYM

4.总结

同义词是非常有用的,使用访问同义词的用户需要有关联对象的 SELECT、INSERT、UPDATE、DELETE、EXPLAIN、CALL 这些权限。同义词能够屏蔽具体的对象,而开放一个不真实的名称进行对外访问,提高了安全性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值