Oracle同义词

来源:互联网 发布:交割单制作软件 编辑:程序博客网 时间:2024/05/17 20:29

Oracle同义词:即现有对象的别名,使用同义词有如下好处

     1.简化sql语句; 2.隐藏对象名称和所有者;  3.提供对象的公共访问

     具体解释如下: 1.当表的名称很长的时候用同义词简化代码量   eg:  select   *   from   my_table_student , 这个时候给my_table_student起一个别名:  create   synonym   mts   for   my_table_student,   然后根据  mts  来查询my_table_student中的内容即可      select   *   from   mts    效果是一样的.       2.隐藏对象名称和所有者:如果此时的表在scott用户下创建的,此时更换到系统system时,根据    select   *   from   my_table_student    或   select   *   from   mts   是查询不到的,必须在表名前加上对应的用户名,但是一些骇客得到这些所有者会把大量数据注入到你的数据库 中,很不安全,这个时候就要用到第二个和第三个特点,为表my_table_student创建公共访问,在所有用户下都可以根据同义词来对

数据进行操作,而且操作是安全的,隐藏了对应的所有者.       eg:create    public     synonym   mts   for   my_table_student.     这个时候无论是在scott或者system下都可以用mts来操作数据库

        注意:开始的时候如果用的scott用户,是没有创建同义词额权限的,这个时候必须切换到system用户下为scott用户赋予对应的权限,具体如下

1.切换到system      2.执行  grant  create    [public]      synonym    to    scott 

原创粉丝点击