ORA-00942:可以选择"schema.table"而不是"table"吗?

Oh *_*oon 4 oracle ora-00942

我在执行时遇到了ORA-00942("表或视图不存在")

select * from brunch
Run Code Online (Sandbox Code Playgroud)

但是,执行时没有这样的问题

select * from joe.brunch
Run Code Online (Sandbox Code Playgroud)

我可以知道这里有什么问题吗?

Jus*_*ave 9

不合格,BRUNCH指的是与JOE.BRUNCH当前会话不同的对象.你有几个选择来解决这个问题.

  1. 创建公共同义词.这将允许任何具有该JOE.BRUNCH表特权的用户通过查询来访问它BRUNCH

    为joe.brunch创建PUBLIC SYNONYM早午餐

  2. 创建一个私有同义词.这将允许当前用户JOE.BRUNCH通过查询访问该表BRUNCH

    为joe.brunch创建SYNONYM早午餐

  3. 将当前会话的当前架构更改为JOE.这将导致当前会话中的所有非限定引用解析为JOE架构而不是当前用户的架构

    ALTER SESSION SET current_schema = JOE