Oracle同义词_SYNONYM[转]

现象:create table JBPM_JOB时出错,提示name is used by existing object
而drop table 的时候,却报table or view does not exist.
这是一个很矛盾的现象。
排查:select * from user_objects where OBJECT_NAME =‘JBPM_JOB’—注意字符串区分大小写
发现OBJECT_TYPE的值是SYNONYM,而不是table。
至于为什么会这样,暂不研究。
解决办法:
drop Synonym JBPM_JOB;
然后再create table,OK。
----------------------------------------------------------------------------
相关知识:Oracle SYNONYM(同义词)
----------------------------------------------------------------------------
是一种映射关系,可以理解为表的一种固定别名
同义词的好处:建立一个同义词可以排除一个对象名字的限制
如果你的数据库有多个用户,USER_A要访问USER_B的TABLE1,只能使用USER_B.TABLE1
建一个同义词abc指向USER_B.TABLE1,那你就可以select * from abc了,而且public的同义词会直接出现在所有用户的面前,有时候可以方便开发

创建同义词:create public synonym synonym_name for user.table_name
删除同义词:drop public synonym synonym_name
查看当前用户的所有同义词:select * from user_synonyms;


本文来自blog.csdn.net/fbysss

你可能感兴趣的:(oracle,.net,jbpm,Blog)