Oracle数据库 【SYNONYM 同义词 シノニム】

来源:互联网 发布:mt4行情交易软件 编辑:程序博客网 时间:2024/06/07 11:57

SYNONYM 同义词 シノニム

 

 

同义词(了解只适合Oracle数据库)
    之前一直存在这样的一种查询语句:
    SELECT SYSDATE FROM DUAL;(查询系统信息)
    之前一直强调DUAL是一张虚拟表,那么虽然是虚拟表,可是此表到底是
    在哪里定义的呢?
    如果现在使用system连接数据库,查询一下此表是否属于system
    切换用户
    CONN system/magager(安装完数据库时候设置的密码)
    SELECT * FROM TAB WHERE TNAME='DUAL';
    查询所有表查无dual;
    我们在进入超级管理员sys用户中查询:
    CONN sys/change_on_install AS SYSDBA;
    SELECT * FROM TAB WHERE TNAME='DUAL';
    在sys下存在此表
    但是我在scott用户下能直接通过表名访问,正常情况下如果要访问不同用户
    的表要使用“用户名.表名称”;
    在sys用户下使用下列SQL语句
    SELECT * FROM emp;
    发生错误:表或则视图不存在
    SELECT * FROM scott.emp;即可
    可见DUAL实际上是通过同义词发挥了作用,同义词可以让其他用户通过一个
    名称方便的访问“用户名.表名称”来访问其他用户下的表
    CREATE SYNONYM 同义词名称 FOR 用户名.表名称;
    范例:将scott用户下的emp表建立一个emp的同义词,然后在sys用户喜爱
    通过同义词查询
    CREATE SYNONYM emp FOR scott.emp;
    SELECT * FROM emp;
    可以完成查询
    范例:删除emp的同义词
    DROP SYNONYM emp;

 

 

 

来源:http://student.csdn.net/space.php?uid=362532&do=blog&id=32174

原创粉丝点击