`

Oracle中创建同义词

阅读更多
Oracle中创建同义词语句:
我们都知道,在oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,所以这就是比较麻烦的,遇到这种情况,我们该怎么办呢?创建个同义词吧!这样我们就可以直接使用同义词来使用表了。

  create synonym table_name for user.table_name;
其中第一个user_table和第二个user_table可以不一样。
此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:
   create synonym table_name for table_name@DB_Link;
当然,你可能需要在user用户中给当前用户(user2)授权:
    grant select/delete/update on user2
创建好同义词之后,你可以对它进行DML(insert,update,delete)操作,当然select语句时肯定支持的。
    删除同义词:drop synonym table_name;这里的table_name是指同义词的表名。
同义词拥有如下好处:节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;同义词可以创建在不同一个数据库服务器上,通过网络实现连接。
待研究:不同用户对通一张表操作时,使用锁对多用户的影响,能否使用锁,事务进行操作

查看所有同义词:
  select * from dba_synonyms


   创建同义词的具体语法是:create [public] SYNONYM synooym for object;
   其中synooym表示要创建的同义词的名称,object表示表,视图,序列等我们要创建同义词的对象的名称。
CREATE PUBLIC SYNONYM public_emp FOR jward.emp;           -- jward 用户名
  删除同义词
使用DROP SYNONYM语句删除不再需要的同义词 要想删除私有同义词 就省略 PUBLIC 关键字 要想删除公共同义词就要包括PUBLIC 关键字
  DROP SYNONYM emp; --删除名为emp 的私有同义词
  DROP PUBLIC SYNONYM public_emp; --删除名为public_emp的公有同义词
分享到:
评论

相关推荐

    Oracle中定义以及使用同义词的方法

    - **简化SQL语句**:如果对象名称较长或者频繁使用,创建同义词可以减少SQL语句的长度,提高编写效率。 - **分布式数据库的透明性**:在分布式数据库环境下,同义词允许用户像访问本地对象一样访问远程对象,提高...

    oracle实验9-10-索引与视图-序列和同义词的创建.doc

    Oracle 实验报告 - 索引、视图、序列和同义词的创建 本实验报告旨在介绍 Oracle 中的索引、视图、序列和同义词的概念和应用。通过实验,掌握创建索引、视图、序列和同义词的命令,并理解它们在数据库中的作用。 一...

    oracle作业视图和同义词

    创建同义词后,用户可以通过同义词来访问实际的表,而无需知道表的实际名称或模式。例如,我们可以使用`Pub_syn`同义词来查询学生信息: ```sql SELECT * FROM Pub_syn; ``` 通过这种方式,同义词不仅简化了表名的...

    ORACLE中一个用户操作另一个用户的某些表 oracle同义词

    在实现同义词的过程中,需要 grant 权限给用户 B,以便用户 B 可以创建同义词。在用户 B 下执行以下语句,grant 权限给用户 B: GRANT CREATE SYNONYM TO B; 然后,在用户 B 下执行以下语句,创建同义词 a: ...

    Oracle 同义词

    其中,synonym_name 是要创建的同义词的名称,object 是要创建同义词的对象的名称,schema 是对象的拥有者,db_link 是数据库链的名称。 例如,创建一个公开的同义词:CREATE PUBLIC SYNONYM policies FOR poladm....

    Oracle 同义词和视图

    创建同义词的基本语法如下: ```sql CREATE [ PUBLIC | PRIVATE ] SYNONYM synonym_name FOR object_name; ``` 其中,`synonym_name`是你希望创建的同义词名称,`object_name`是它所引用的实际数据库对象。如果加上`...

    Oracle的同义词(synonyms)总结

    #### 二、创建同义词 同义词分为公共同义词和私有同义词两种类型。公共同义词可以在数据库的所有用户间共享,而私有同义词则仅限于创建它的用户可见。 **1. 创建同义词的基本语法:** ```sql CREATE [PUBLIC] ...

    实用的数据库赋权和同义词的存储过程,用于oracle

    例如,你可以创建一个存储过程来创建同义词,参数包括源对象名、目标同义词名和可能的模式。另一个存储过程则可以用来删除不再需要的同义词。这样的工具使得数据库管理员能够更加灵活地管理数据库的访问和使用。 在...

    oracle同义词和序列

    Oracle 数据库中同义词和序列是两个重要概念,然而同义词的概念往往被人忽略。这篇文章将详细讲解同义词和序列的概念,并对其进行详细的介绍。 同义词是指表、视图、序列、过程、函数和包的别名。当应用程序或用户...

    oracle 同义词和序列

    创建同义词有助于简化数据库对象的引用,尤其是在多用户环境中,可以避免复杂的权限管理和长的对象路径。删除同义词同样使用 `DROP SYNONYM` 语句。 最后,序列是 Oracle 中用于生成唯一、连续整数的数据库对象,常...

    ORACLE跨库向41服务器同步以及同义词

    本文将详细介绍如何在Oracle环境中实现跨库数据同步至特定服务器,并通过创建同义词来简化跨库查询的操作流程。整个过程分为五个步骤:配置TNS名称、创建数据库链接、编写存储过程、设置作业计划以及创建同义词。 #...

    21.Oracle同义词1

    通过以下命令,可以授予用户创建同义词的权限: ```sql grant create synonym to 用户名; grant create public synonym to 用户名; ``` 创建同义词的SQL语法如下: ```sql create [public] synonym 同义词名 for ...

    利用同义词构建SQLserver与Oracle数据库之间的访问接口

    在进行数据分析时,优势需要关联分析Oracle与SQL ...一般做法是利用OLEDB将数据导入到一个数据库中,也可以在SQL server中建立一个虚拟连接,将Oracle中数据表虚拟到SQL server中,视同本地表使用,极大方便数据分析。

    Oracle Dblink and synonym(同义词)

    Oracle Dblink and synonym(同义词) 授权 创建 以及使用

    MLDN魔乐科技_Oracle课堂22_序列、同义词

    创建同义词使用`CREATE SYNONYM`语句,使用时就像操作原对象一样。 在实际应用中,序列和同义词常常结合使用。例如,我们可以为一个表的主键字段创建一个序列,保证每个新插入的记录都有一个唯一的ID。同时,为了...

    oracle笔记其它数据库对象(序列索引同义词)

    oracle笔记其它数据库对象(序列、索引、同义词),有创建序列,创建索引,创建同义词的具体代码案例

    Oracle通过触发器或者同义词避免用户修改表结构

    2. 创建同义词:管理员可以为用户创建同义词,只允许他们通过同义词来查询数据,而不是直接操作表。这样,即使用户有INSERT、UPDATE或DELETE的权限,也无法直接修改表结构,因为表结构对他们是透明的。 3. 示例代码...

    dblink+同义词

    `,ods用户生成了一系列创建同义词的SQL命令。这里,每条命令都是为了在本地创建一个同义词,指向通过`bb`dblink访问的远程表,进一步简化了对远程数据的访问。 4. **权限撤销**:虽然示例中没有给出具体的权限撤销...

    oracle dblink 创建过程

    为了方便使用,还可以为远程表创建同义词: ```sql CREATE SYNONYM syn_bctl FOR bctl@creditdb; ``` 此后,可以直接通过同义词`syn_bctl`来访问远程表`bctl`。 #### 三、使用Oracle快照实现数据库同步 ...

Global site tag (gtag.js) - Google Analytics