Oracle同义词

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 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值