plsql-同义词
同义词:同义词是对象的别名,不占用任何实际的存储空间,只在oracle 数据字典中保存其定义描述,在使用同义词时,oracle 会将其翻译为对象的名称
- 用途:
简化sql 语句
隐藏对象的名称和所有者
为分布式数据库的远程对象提供位置透明性
提供对数据库对象的公共访问
创建数据库链接的语法:
-
同义词分类:
-
私有同义词:
私有同义词只能被当前会话的用户访问,私有同义词名称不可与当前模式的对象名同名。要在自身的模式创建私有同义词,用户必须拥有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;
-
私有同义词:
-
删除同义词:
语法:
drop synonym 同义词名称
例如drop synonym public_sy_dept;
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'