同样的sql查询出来的结果不一样。

时间:2021-01-29 10:48:37
手上的erp系统是用pb9.0开发的,其中有一段嵌入式sql,很简单select s_version into :ls_ver from system_version where s_id = 'CC01';得到的ls_ver 的值为'10',但是我用pl/sql执行这一段sql得到的结果却是'8',不知道是怎么回事?
都是连的同一个库,怀疑是不同user访问表空间不同,才有不同的结果。做了两年的开发,但是还是很菜啊。请教大家了 。

7 个解决方案

#1


是否是不同的事务操作commit导致的?

#2


执行的情况很简单,都是执行一个select,不知道是不是权限的问题啊?

#3


用户相同吗?
数据是否是修改中?

#4


不知道用户是否一样,不是修改中,只是系统登录的时候查看一下版本号。怀疑是权限问题,希望高手解答。

#5


因为你的表中有多条s_id = 'CC01'的记录,所以会在不同的回话中给出不同的查询结果!!!!

#6


这肯定不是什么权限的问题。
1. 登录用户不同,
2. 库不同,
3. 有更新操作
4。。。

如果有dba用户,可以登录查看一下system_version有几个,分别在哪个schema下,不就一目了然了。

#7


引用 5 楼 ywjj312 的回复:
因为你的表中有多条s_id = 'CC01'的记录,所以会在不同的回话中给出不同的查询结果!!!!

怎么可能。。。。不然早报错了。。。

#1


是否是不同的事务操作commit导致的?

#2


执行的情况很简单,都是执行一个select,不知道是不是权限的问题啊?

#3


用户相同吗?
数据是否是修改中?

#4


不知道用户是否一样,不是修改中,只是系统登录的时候查看一下版本号。怀疑是权限问题,希望高手解答。

#5


因为你的表中有多条s_id = 'CC01'的记录,所以会在不同的回话中给出不同的查询结果!!!!

#6


这肯定不是什么权限的问题。
1. 登录用户不同,
2. 库不同,
3. 有更新操作
4。。。

如果有dba用户,可以登录查看一下system_version有几个,分别在哪个schema下,不就一目了然了。

#7


引用 5 楼 ywjj312 的回复:
因为你的表中有多条s_id = 'CC01'的记录,所以会在不同的回话中给出不同的查询结果!!!!

怎么可能。。。。不然早报错了。。。