作者:fbysssmsn:jameslastchina@hotmail.comblog:blog.csdn.net/fbysss声明:本文由fbysss原创,转载请注明出处关键字:Oracle 同义词 SYNONYM 现象:create table J......
作者:fbysss msn:jameslastchina@hotmail.com blog:blog.csdn.net/fbysss 声明:本文由fbysss原创,转载请注明出处 关键字: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;
|