创建同义表tableB: create synonym tablenameB for 数据库名字.tablenameA
删除同义表tableB:drop synonym tablenameB
最近工作遇到这样一个问题,我们本来的数据库在A里面,但是新开的项目想在数据库A下面的一个子用户B里面。A里面存在我们部门用到的所有表,但是新开的项目想在B里面做。我们所有取数都是在A里面进行的,那么B怎么用到A的表呢/p>
毫无疑问,我们可以选择A.tablename 的方式访问A里面的表,但是这样可能会很不方便,具体因为什么不方便或者对A有多大影响我还没有感受到,因为我就是一个初出茅庐的菜鸟,在这种情况下,项目里面有经验的小哥哥小姐姐选择同义词synonym这种方式解决问题。
我们在B里面创建同义表的方式
create synonym tableB for A.tableA –注意这里是for
这样我们就在数据库B里面创建除了tableB
可最近我有遇到一个新问题就是业务在tableA 里面提出加其他种类客户 ,这样我table_nameB 如果再通过同义词创建,在使用的时候就要用where条件限制一下,那我就在想能不能在创建同义表tableB 是就直接加入限定条件。试了几种办法都没有成功,问题了漂亮小姐姐得到的回答也还是没有解决,说是没有见到过。所有这个遗留的问题只能以后在说了。如果各位看到的会,还请留言告诉我
那么如何删除同义表
drop synonym tableB –注意这里是有区别与删除表 drop table tablename
ps:在plsql软件的右边有个objects里面有很多的文件夹,其中一项就是synonyms,里面的都是同义词表,你可以选择右击某一个查看它是如何创建的同义词表就清楚了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!