查询时具有相似名称的表的名称解析

时间:2017-05-22 10:06:37

标签: oracle

我在Oracle中有3个模式:

  1. 两个模式可以说A和B有一个同名的表:-say Table X
  2. 我已从两个表中授予表X中架构C的选择权。
  3. 现在,如果我在架构C中从X编写select *。
  4. 将使用哪个表从X架构A或架构B ???

    中进行选择

1 个答案:

答案 0 :(得分:1)

  

将使用哪个表从X架构A或架构B ???

中进行选择

都不是。

在您刚刚授予SELECT C权限的情况下:

select * from X

将导致

ORA-00942: table or view does not exist.

您需要使用架构限定查询:

select * from A.X

select * from B.X

或者你需要创建一个同义词:

CREATE SYNONYM X FOR B.X;

然后select * from X将使用X架构中的表B