金仓数据库KingbaseES数据库管理员指南--15.3. 管理同义词

目录

15.3.1. 关于同义词

15.3.2. 创建同义词

15.3.3. 在DML语句中使用同义词

15.3.4. 删除同义词


您可以执行创建同义词、使用同义词和删除同义词等任务。

可以为表、视图、存储过程,序列等数据库对象建立同义词,也可以为同义词再次建立同义词,甚至可以为一个不存在的对象建立同义词。

使用CREATE SYNONYM语句创建同义词。

在DML语句中,同义词的使用方式和基对象的使用方式完全相同。

您可以通过DROP SYNONYM语句来删除一个不再需要的同义词。

父主题: 管理视图、序列和同义词

15.3.1. 关于同义词

可以为表、视图、存储过程,序列等数据库对象建立同义词,也可以为同义词再次建立同义词,甚至可以为一个不存在的对象建立同义词。

同义词本身并不包含原对象中的数据或者代码,它仅仅充当一个指针,是数据库对象的别名。此外,同义词易于使用,并能降低了数据库用户SQL语句的复杂性。同义词允许底层对象被重命名或移动,但必须重定义同义词,基于同义词的应用程序无需修改即可继续工作。您可以创建公共和私有的同义词。

公共同义词由名为PUBLIC的特殊用户组拥有,一般由DBA创建,数据库中的每个用户都可以访问它。私有同义词包含在特定用户的模式中(非public模式),仅对该用户和底层对象的被授予者可用。同义词本身不涉及安全,当您赋予一个同义词对象权限时,您实质上是在给同义词的基对象赋予权限。

父主题: 管理同义词

15.3.2. 创建同义词

使用CREATE SYNONYM语句创建同义词。

创建同义词时,底层模式对象不需要存在,也不需要访问对象的权限,也能创建同义词。下面的语句在包含在schm模式中的tab1表上创建一个名为public_syn_tab1的公共同义词:

CREATE PUBLIC SYNONYM public_syn_tab1 FOR schm.tab1;

您也可以使用带有OR REPLACE子句的CREATE SYNONYM将一个现有同义词定义替换掉:

CREATE OR REPLACE PUBLIC SYNONYM public_syn_tab1 FOR schm.tab1;

在创建同义词应注意的是:

  • 同义词不能喝同一模式中其他同义词同名,但不同模式下可以有同名的同义词

  • 创建公有同义词不能指定模式

  • 创建私有同义词不能指定public模式

  • 创建私有同义词必须指定模式(在当前模式路径为public时)

父主题: 管理同义词

15.3.3. 在DML语句中使用同义词

在DML语句中,同义词的使用方式和基对象的使用方式完全相同。

只要您被赋予了基对象权限,您就可以使用其他用户的私有同义词。例如,您只拥有student表的SELECT权限,student表有一个同义词stu,这时,您就只能对stu同义词进行查询操作,而不能使用它进行插入数据。同理,如果拥有基对象的插入权限,则可以使用其同义词进行插入操作。

例如,一个名称为student的同义词,下面语句是有效的:

INSERT INTO stu VALUES (stu_sequence.CURRVAL, '刘恩斯',18,'高中二年级',4,'108@qq.com',SYSDATE);

父主题: 管理同义词

15.3.4. 删除同义词

您可以通过DROP SYNONYM语句来删除一个不再需要的同义词。

如果您要删除公共同义词,您必须拥有DROP PUBLIC SYNONYM系统权限。当删除私有同义词时,省略PUBLIC关键字;当删除公共同义词时,需要包含PUBLIC关键字。

例如,下面语句删除名为syn_test的同义词:

DROP SYNONYM syn_test;

下面的语句删除名为public_syn的公共同义词:

DROP PUBLIC SYNONYM public_syn;

父主题: 管理同义词

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
人大金仓数据库开发管理工具KStudio是一款功能齐全、易于上手的数据库管理工具。它提供了一个简洁易懂的界面,使得初学者和有经验的开发人员都能够轻松地操作Kingbase ES数据库。KStudio客户端具有以下功能: 1. 数据库连接管理:KStudio客户端可以轻松地连接到Kingbase ES数据库,并提供了一个简单易用的界面来管理数据库连接。 2. 数据库对象管理:KStudio客户端可以管理Kingbase ES数据库中的所有对象,包括表、视图、存储过程、触发器等等。 3. SQL编辑器:KStudio客户端提供了一个强大的SQL编辑器,可以帮助开发人员编写和调试SQL语句。 4. 数据导入和导出:KStudio客户端可以轻松地将数据导入和导出到Kingbase ES数据库中。 5. 数据库备份和还原:KStudio客户端可以帮助开发人员轻松地备份和还原Kingbase ES数据库。 6. 数据库性能监控:KStudio客户端可以监控Kingbase ES数据库的性能,并提供了一些有用的性能指标和报告。 以下是一个使用KStudio客户端连接Kingbase ES数据库的Python代码示例: ```python import pyodbc # 连接数据库 cnxn = pyodbc.connect('DRIVER={KingbaseES ODBC Driver};SERVER=localhost;PORT=54321;DATABASE=mydatabase;UID=myusername;PWD=mypassword') # 执行SQL查询 cursor = cnxn.cursor() cursor.execute("SELECT * FROM mytable") row = cursor.fetchone() while row: print(row) row = cursor.fetchone() # 关闭连接 cnxn.close() ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值