`
dacoolbaby
  • 浏览: 1267318 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转发]Oracle 同义词

 
阅读更多
Oracle中创建同义词语句:
转发:http://a1520708.iteye.com/blog/1170135
Sql代码
  
create synonym table_name for user.table_name;   
create synonym table_name for user.table_name;
 
其中第一个user_table和第二个user_table可以不一样。 
此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词: 


Sql代码 
  
create synonym table_name for table_name@DB_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是指同义词的表名。

同义词拥有如下好处:节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;同义词可以创建在不同一个数据库服务器上,通过网络实现连接。

待研究:不同用户对通一张表操作时,使用锁对多用户的影响,能否使用锁,事务进行操作

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



创建同义词的具体语法是:
 create [public] SYNONYM synooym for object;

其中synooym表示要创建的同义词的名称,object表示表,视图,序列等我们要创建同义词的对象的名称。


Sql代码 
 CREATE PUBLIC SYNONYM public_emp FOR jward.emp;           -- jward 用户名  
CREATE PUBLIC SYNONYM public_emp FOR jward.emp;           -- jward 用户名


删除同义词
使用DROP SYNONYM语句删除不再需要的同义词 要想删除私有同义词 就省略 PUBLIC 关键字要想删除公共同义词就要包括PUBLIC 关键字


Sql代码 
 DROP SYNONYM emp; --删除名为emp 的私有同义词   
DROP PUBLIC SYNONYM public_emp; --删除名为public_emp的公有同义词  
DROP SYNONYM emp; --删除名为emp 的私有同义词
DROP PUBLIC SYNONYM public_emp; --删除名为public_emp的公有同义词

public 所有用户都有效
private/不写 当前用户有效
分享到:
评论

相关推荐

    Oracle经典教程1——走进Oracle

    同义词是一种用于简化对象名称引用的方法,可以隐藏对象的真实名称和所有者,提高代码的可读性和安全性。 #### 序列 序列是一种自动产生唯一整数的对象,常用于为主键字段生成唯一的标识符。 #### 视图 视图是一...

    ORACLE数据库资料整理【经典】

    8. **同义词说明**:同义词是数据库中的别名,提供了一种方式来隐藏真实对象名称,便于管理,并且可以简化跨架构的访问。 9. **执行SQL轨迹分析**:通过分析SQL执行计划,可以找出性能瓶颈,优化查询性能。**执行...

    Oracle数据库经典学习教程

    - 可以为公共或私有对象创建同义词,提高代码的可读性和安全性。 - **序列** - 序列是一种自动增长的数字对象,常用于生成主键值。 - 可以通过CURRVAL和NEXTVAL获取序列的当前值和下一个值。 - **索引** - ...

    Oracle数据库概述.pdf

    - **过程**:通过数据库链接(DB-LINKS)实现远程数据库访问,同时,Oracle的同义词等高级功能隐藏了网络连接和数据分布的具体细节。复制技术如实时复制、定时复制和储存转发复制,提供了灵活的数据同步策略,且...

    Oracle DBA基础知识

    - **SYN**:包含所有同义词的信息。 ##### 5.3 动态性能视图 动态性能视图提供了实时的系统状态信息。 ##### 5.4 常用动态性能视图 常见的动态性能视图包括: - **V$FIXED_TABLE**:列出所有固定的表视图。 - *...

    Oracle数据库基础知识

    - **1.3.6 同义词(Synonym)**: 对象名称的别名,简化对象引用。 - **1.3.7 序列(Sequence)**: 自动生成唯一数值的对象。 - **1.3.8 数据库链(Database Link)**: 允许在两个或多个数据库之间进行连接。 #### 二、...

    oracle期末考试题及答案借鉴.pdf

    16. **创建私有同义词**: 用户需要CREATE SYNONYM权限来创建私有同义词。 17. **PL/SQL中的SQL命令**: PL/SQL块中可以直接使用SELECT、INSERT、UPDATE,但不能直接使用DROP命令。 18. **异常处理**: 除以零会引发...

    oracle 10g concepts

    - **5.7 同义词纵览:** 同义词为数据库对象提供了一个别名,可以简化对象的引用,提高数据的安全性。 - **5.8 索引纵览:** 索引是用于快速定位数据的一种数据结构。Oracle 10g 支持多种索引类型,如B树索引、位图...

    oracle数据库同步

    可进行复制的数据库对象包括但不限于表、索引、视图、对象视图、程序包、过程和函数、用户定义的类型、触发器、同义词、索引类型等。 #### 复制组 复制组是逻辑相关复制对象的集合。在复制环境中,复制组由Oracle...

    oracle数据库期末考试试题及答案.doc

    私有同义词只能由其所有者使用,而公共同义词则可供所有用户使用。 #### 17. PL/SQL中不可直接使用的SQL命令 **题目**: PL/SQL 块中不能直接使用的 SQL 命令是( )。 - A.SELECT - B.INSERT - C.UPDATE - D...

    oracle期末考试题与答案.docx

    要以自身的模式创建私有同义词,用户必须拥有**CREATE PRIVATE SYNONYM**系统权限。同义词是用于简化对象名称的一种手段。 ### 17. PL/SQL块中不可直接使用的SQL命令 在PL/SQL块中,**DROP**命令不能直接使用。这是...

    oracle数据库期末考试题及答案.docx

    - **Oracle HOME_NAME TNS Listener**:这是Oracle网络服务的一个组成部分,负责监听来自客户端的连接请求,并根据请求中的信息将其转发给相应的数据库实例。 故正确答案为 **A.Oracle HOME_NAME TNS Listener**。...

    orical数据库\orical数据库常识.pdf

    此外,Oracle还提供了一些高级管理方法,如同义词(SYNONYM),使得远程数据访问更加便捷。数据库复制技术包括实时复制、定时复制和存储转发复制等,这些技术有助于提高数据的可用性和冗余度。 ### Oracle数据库的...

    基本的网络与数据安全管理知识.ppt

    Oracle数据库还支持对象访问特权,例如对表、视图、同义词、序列生成器和存储过程/函数的ALTER、DELETE、INDEX、INSERT、SELECT、UPDATE和EXECUTE等操作。通过这些权限,可以精细控制用户对数据库资源的访问。 在...

    J2EE与数据库.docx

    同义词在 Oracle 数据库中是一种用于隐藏对象真实名称的机制。它可以为其他用户的对象创建别名,便于应用程序访问这些对象,同时也提高了安全性。 **示例代码:** ```sql CREATE SYNONYM emp FOR scott.employees; ...

Global site tag (gtag.js) - Google Analytics