plsql-同义词

发布时间 2023-07-27 11:17:39作者: 丹心石
同义词:同义词是对象的别名,不占用任何实际的存储空间,只在oracle 数据字典中保存其定义描述,在使用同义词时,oracle 会将其翻译为对象的名称
  1. 用途:

    简化sql 语句
    隐藏对象的名称和所有者
    为分布式数据库的远程对象提供位置透明性
    提供对数据库对象的公共访问

    创建数据库链接的语法:

  2. create database link 数据库连接名 connect to 用户名 identified by 口令 using Oracle数据库连接

    create databse link scdbLink connect to scott identified by tigger using '192.168.1.99:1521/orcl'
    
  3. 同义词分类:
    • 私有同义词:

      私有同义词只能被当前会话的用户访问,私有同义词名称不可与当前模式的对象名同名。要在自身的模式创建私有同义词,用户必须拥有create synonym 系统权限,要在其他用户模式创建私有同义词,用户必须拥有create any synonym系统权限

      语法:

      create or replace synonym schema.synonym_name for schema.object_name
      例如:

      create or replace synonym emp for scott.emp;
      

    • 公有同义词

      公有同义词被所有的数据库访问。公有同义词可以隐藏基表的身份,并降低sql 语句的复杂性。要创建公有同义词,用户必须拥有 create public synonym 的系统权限

      语法:

      create public synonym 同义词名称 for 替代对象
      例如:

      create public synonym public_sy_dept for scott.dept;
      

  4. 删除同义词:

    语法:

    drop synonym 同义词名称
    例如

    drop synonym public_sy_dept;