当前位置: 首页 > 面试题库 >

从Oracle中的另一个架构中选择数据

公西浩
2023-03-14
问题内容

我想执行一个查询,该查询从与数据库连接中指定的模式不同的模式中选择数据(相同的Oracle服务器,相同的数据库,不同的模式)

我有一个与Oracle服务器通信的python应用程序。它打开与数据库(服务器/架构)A的连接,并对数据库中的表执行选择查询。

我尝试了以下方法:

select .... 
from pct.pi_int, pct.pi_ma, pct.pi_es
where ...

但我得到:

ORA-00942: table or view does not exist

我还尝试用括号将模式名称括起来:

from [PCT].pi_int, [PCT].pi_ma, [PCAT].pi_es

我得到:

ORA-00903: invalid table name

使用Django应用程序内部的cx_Oracle python模块执行查询。

可以这样做还是应该建立新的数据库连接?


问题答案:

您用来连接数据库的用户(A在本例中为用户)是否有权SELECT访问PCT架构中的对象?假设A没有此访问权限,您将收到“表或视图不存在”错误。

最有可能的是,您需要DBA授予用户A对所需PCT模式中任何表的访问权限。就像是

GRANT SELECT ON pct.pi_int
   TO a;

完成此操作后,您应该能够PCT使用pct.pi_int在问题中最初演示的语法在架构中引用对象。方括号语法方法将不起作用。



 类似资料:
  • 问题内容: 是否可以使用其他数据库中的SELECT创建表(在我的开发数据库中)? 我想要类似的东西: 有没有执行此操作的语法,还是我需要首先创建一个数据库链接? 问题答案: 您必须首先创建一个数据链接 。 除非创建数据库链接,否则Oracle无法查询其他数据库。如前所述,如果存在数据库链接,则必须执行以下操作:

  • 假设我有一个spark数据帧,有几列(其中列)和数据帧,有两列:和。 是否有复制以下命令的方法

  • 问题内容: 这是我的代码: 您可以看到我要执行的操作,但是我不确定如何正确编写此查询。 我得到的继承人错误: 警告:mysql_fetch_assoc():提供的参数不是有效的MySQL结果资源 这是我的mysql_fetch_assoc: 问题答案: 尝试改变…的喜欢 …至…

  • 我的数据库中有两个表。一个表包含有关用户的信息,而另一个表包含有关预订的数据。当用户进行预订时,userid将被放置在预订表中。现在,我想展示一张用户的照片,其中包括预订的备注和日期,但是照片在users表中。 这是我的两张桌子: null null

  • 问题内容: 我正在尝试查找一个表中的行,而不是另一个表中的行,这两个表都在不同的数据库中,并且在我要用来匹配的列上也有不同的列名。 我有一个查询,下面的代码,我认为它可能有效,但是速度太慢: 因此查询尝试执行以下操作: 从R2R.partmaster数据库中选择wpsapi4.product_details数据库中没有的所有ID。我匹配的列是partmaster.id和product_detail

  • 我在模式A中有表。我在模式B中的包中为模式A中的表中的查询数据创建了过程,如下所示: 但当我执行这个过程时,它显示 ORA-00942:表或视图不存在 我有什么问题吗?