oracle同义词问题,ORACLE同义词总结(下)

查看同义词

oracle同义词问题,ORACLE同义词总结(下)_第1张图片

使用同义词

ca4d5663e2a69d9f886d97084943a9eb.png

使用同义词可以保证当数据库位置或对象名称发生变化时,应用程序代码保持稳定,只需要改变同义词;

使用没有指定模式的同义词时,首先在用户自己的模式中查找,然后在公共同义词中查找。

删除同义词

oracle同义词问题,ORACLE同义词总结(下)_第2张图片

编译同义词

9f567fc2fc4df7681dc59f9a69d87e65.png

对原始对象进行DDL操作后,同义词的状态将变为INVALID;再次引用同义词时,同义词会自动编译,状态变为VALID。

问题合集:

1.HR用户为什么不能访问OE用户创建的公共同义词?

因为在运行经验模式下,人力资源无权访问对象,所以如果运行经验用户授予人力资源用户选择对象的权限,人力资源用户就可以访问这些对象。

2.对象、私有同义词和公共同义词可以同名吗?ORACLE中同义词和表的优先级是多少?

在用户kerry下,创建表TEST

70f8bb65300a80f201ede036a1796bee.png

创建私有同义词TEST

oracle同义词问题,ORACLE同义词总结(下)_第3张图片

创建一个公共同义词TEST,如下所示。公共同义词可以与对象同名

8486971aab2509627459e0ae5528af23.png

访问TEST时,如下:是tableTEST的内容,不是公共同义词的内容。

oracle同义词问题,ORACLE同义词总结(下)_第4张图片

删除TEST表后,数据库此时访问公共同义词。

oracle同义词问题,ORACLE同义词总结(下)_第5张图片

总结:存在同名私有同义词和公共同义词时,数据库优先选择私有同义词作为目标;存在同名对象和公共同义词时,数据库优先选择对象作为目标。

你可能感兴趣的:(oracle同义词问题)