Oracle Spool返回查询脚本,但没有结果

时间:2015-04-15 14:40:58

标签: sql oracle spool

我正在运行以下脚本将一些结果提取到文本表。当我运行脚本时,它将脚本返回到文本文件,没有查询结果。知道为什么?

set feedback off
set heading off
set echo off
set define off
set linesize 500
spool \\1.1.1.1\w$\Customer_Service\Outgoing\Missing_PO_NN.txt 
select p.po
from   sv_order_check_nn p
  where  not exists (
           select 1
           from   ordusctes o
           where  o.usctes_po = p.po);
/
SPOOL OFF

1 个答案:

答案 0 :(得分:1)

  

当我运行脚本时,它会将脚本返回到文本文件而不会产生查询结果。知道为什么?

取决于您的查询是否实际返回任何行。您是否首先执行查询并检查它是否实际返回任何行?

select p.po
from   sv_order_check_nn p
  where  not exists (
           select 1
           from   ordusctes o
           where  o.usctes_po = p.po);
/

执行两次查询。您最后使用斜杠 /作为终结符,这将执行缓冲区中的任何内容

请参阅此answer了解类似问题并修复。

在您的情况下,您的查询将被执行两次。