Oracle where where子句不适用于SQL Plus

时间:2017-11-14 15:07:48

标签: sql oracle sqlplus

我有一个" WHERE EXISTS()"条款。 当我在SQL Developer上执行它时,它会返回行,但是当我在SQL Plus中执行它时,它就没有了。

任何人都知道为什么会这样? 提前致谢。 问候, 若昂

1 个答案:

答案 0 :(得分:0)

如果查询将行返回到一个数据库会话(例如,由SQL Developer创建)并且不返回另一个中的任何行(例如,由SQL Plus创建),则表示这些会话不同。

区别可能是:

  • 数据库已连接
  • 已连接用户
  • 当前架构
  • NLS设置
  • FGAC政策
  • 等......

正如Juan所说,未提交的数据也可能会影响到这一点。

如果您查看SQL Developer中的某些行,我会说检查您是否可以将这些行访问到SQL Plus(使用select * from table where id = <id visible in SQL Developer>之类的内容)。如果这返回了一些行 - 请参阅SQL Plus中查询过滤的原因。如果这不返回行,请查看您是否连接到其他数据源或无法访问数据。