zoukankan      html  css  js  c++  java
  • SQL语句(9)--- 同义词

    1. 私有同义词:普通用户在自己模式下创建的同义词

           SQL> create synonym SYNONYMNAME for TABLE;

    私有同义词需要授权给其他用户,其他用户才可以查看,授权后,其他用户不仅可以访问同义词,也可以访问基表,反之亦然。

    2. 共有同义词:管理员创建,需要有 CREATE PUBLIC SYNONYM权限

              SQL> create public synonym SYNONYMNAME for TABLE;

    共有同义词需要授权给其他用户,其他用户才可以查看,授权后,其他用户不仅可以访问同义词,也可以访问基表,反之亦然。

    3. 如果存在私有同义词和共有同义词同名的情况,则优先访问私有同义词。

    SQL> conn sys/oracle@erp as sysdba
    Connected.

    SQL> create table temp as select empno,ename from scott.emp where deptno=10;

    Table created.

    SQL> create table temp1 as select empno,ename from scott.emp where deptno=20;

    Table created.

    SQL> create synonym a for temp;

    Synonym created.

    SQL> create public synonym a for temp1;

    Synonym created.

    SQL> select OWNER,SYNONYM_NAME,TABLE_NAME from dba_synonyms where SYNONYM_NAME='A' ;

    OWNER SYNONYM_NA TABLE_NAME
    ----------    ----------              ----------
    SCOTT     A                 EMP
    SYS          A                        TEMP
    PUBLIC    A                        TEMP1

    SQL> select * from a;

    EMPNO ENAME
    ---------- --------------------
    7782   CLARK
    7839   KING
    7934   MILLER

    SQL> select * from temp;

    EMPNO ENAME
    ---------- --------------------
    7782   CLARK
    7839   KING
    7934   MILLER

    SQL>

  • 相关阅读:
    PHP生成PDF并转换成图片爬过的坑
    PHAR系列之导言
    Linux学习之路(三)Shell脚本初探
    Linux学习之路(二)
    php 隐藏手机号中间几位
    tp 递归菜单列表【树状】
    php导出excel封装类
    php 导出Excel表格
    php字符串之翻转单词顺序列
    laravel实现跳转其他控制器
  • 原文地址:https://www.cnblogs.com/eniniemand/p/14054646.html
Copyright © 2011-2022 走看看