我想在Oracle中使用WITH子句,但它没有返回任何数据。Oracle WITH子句返回没有数据
这是我试图运行查询...
with test as
(select count(*)
from my_table)
select *
from test;
当我运行这段代码,我回来的记录计数MY_TABLE
select count(*)
from my_table
我在甲骨文10克因此查询应该工作...
select * from v$version;
产生
Oracle数据库10g企业版发布10.2.0.4.0 - 64bi
PL/SQL发布10.2.0.4.0 - 生产
CORE 10.2.0.4.0生产
TNS用于Solaris:10.2.0.4版本。 0 - 生产
NLSRTL版10.2.0.4.0 - 生产
莫非权限问题还是什么?
* 编辑:*
我相信我的问题是清楚的。即使WITH语句中的“my_table”语句中的“select count(*)”正常工作,使用WITH语句也不会返回任何记录,这会导致我相信还有另一个问题无法解决,因此,这个问题:)
EDIT 2
好了,如果我尝试从SQL Server Management Studio中的链接服务器执行查询,我得到了一些错误信息反馈:
SG 7357 ,等级16,状态2,行1 无法处理对象“测试为 (select count(*) from v $ version) select * from test;“。链接服务器“MyServer”的OLE DB提供程序“MSDAORA”表示该对象没有列或当前用户没有该对象的权限。
作为一个实验,将单词test重命名为xyz123 – EvilTeach
请说明一下您的问题。看起来像DCookie提供了下面的工作示例。即使my_table有零记录,你也应该得到1行1列的结果'0' –
这听起来像PL/SQL Developer做错了什么。当你从SQL * Plus运行时,你会得到相同的“结果”吗? –