Oracle-不同用户下的视图导致查询结果不一样的问题

2021年01月15日 11:04 · 阅读(310) ·

开发环境

名称 版本
操作系统 Windows 10 X64
Oracle win64_11gR2_database
PLSQL Developer 11.0.4.1788(64 bit)01.179332 - Unlimited user license
Visual Studio 10.0.40219.1 SP1Rel

问题描述

用户反馈在一个页面上查到的数是 900,实际情况应该为 1000

我通过对应的视图查询,发现结果为 1000

但是发现程序调用后查询到的结果,就是 900

问题分析

1.在程序中加入日志,把调用的 sql 放到 Oracle 里面执行,结果还是 1000。

2.修改了调用的视图,使得结果应该为 200,再次执行程序,结果还是 900。

3.我怀疑是程序根本没有取到我修改的视图。

经过查询,我使用的用户是 tpsdata。

程序使用的用户是 fms。

使用 tpsdata.视图 名称查询得到的结果是 200,查询对应视图定义,也是最新的。

使用 fms.视图 名称查询到的结果是 900,查询对应视图定义,是之前版本

问题解决

1.程序中修改为 tpsdata 用户来调用

或者

1.修改 fms.视图 对应的定义为最新的

相关问题

Oracle-同一个包被不同用户拥有导致调用报错的问题