Oracle同义词

数据库 waitig 480℃ 百度已收录 0评论

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 


本文由【waitig】发表在等英博客
本文固定链接:Oracle同义词
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)