查询驱动视图和实际视图不返回相同的结果

时间:2009-12-01 15:47:40

标签: sql plsql view

我有一个视图,它返回四列数据以推送到外部程序。当我只是查询视图(“Select * from schema.view_name”)时,我得到了10353行。当我运行创建视图的实际SQL时(我实际上复制并粘贴了Oracle存储的内容,减去了“创建或替换”语句),我得到了238745行。

为什么会出现这种情况的想法?

1 个答案:

答案 0 :(得分:5)

最好的猜测:当你独立运行查询时,你没有在创建视图的同一模式中运行它(我在你的示例SELECT中包含模式名称的事实推断这一点) 。您运行查询的模式要么具有自己的表,其名称与视图中的一个基表同名,要么其中一个名称是指向另一个视图的同义词,该视图仅包含其中的一部分行基础表。