Plsql 如何使用替换变量定义spool文件

Plsql 如何使用替换变量定义spool文件,plsql,Plsql,我正在使用Oracle sql plus执行脚本PL/sql。 这是我的剧本: set serveroutput on spool "Svincoli_giornalieri.csv" declare v_id_rapporto number(20); begin v_id_rapporto := &id_rapporto; select id_rapporto into v_id_rapporto from tb_ag_rapporti where i

我正在使用Oracle sql plus执行脚本PL/sql。
这是我的剧本:

set serveroutput on
spool "Svincoli_giornalieri.csv"
declare
    v_id_rapporto number(20);

begin

    v_id_rapporto := &id_rapporto;
    select id_rapporto into v_id_rapporto from  tb_ag_rapporti where   id_rapporto = v_id_rapporto;

    for c in (
            select r.intestazione,vn.id_rapporto,vn.IMPORTO_SVINCOLABILE,vn.IMPORTO_ORIG,svn.ID_OP_VNC,svn.importo,svn.DATA_INS,svn.STATO_CSE ,svn.DATA_ESECUZIONE
            from tb_op_vnc vn, TB_OP_SVN svn, tb_ag_rapporti r
            where vn.ID_OP_VNC=svn.ID_OP_VNC
            and r.id_rapporto =vn.id_rapporto
            and svn.DATA_INS>trunc(sysdate)
            )
 loop

        dbms_output.put_line( c.intestazione||' idr: '||c.id_rapporto||'  ID_Vincolo:'||c.ID_OP_VNC||' '||c.stato_cse||'  Data Esec: '||c.DATA_ESECUZIONE||'  Importo orig:'||c.IMPORTO_ORIG||' Svincolo Residuo:'||c.IMPORTO_SVINCOLABILE||'  Importo Svincolato:'||c.importo);


    end loop;
    end;
    /
    spool off
我想使用替换变量将输出传递到spool文件中,但启动脚本时出现以下错误:

ERRORE alla riga 6:
ORA-06550: riga 6, colonna 26:
PLS-00103: Trovato il simbolo "OFF" anziche uno dei seguenti:
. ( * @ %
& = - + ; < / > at in is mod remainder not rem
<un esponente (**)> <> o != o ~= >= <= <> and or like like2
like4 likec between || multiset member submultiset
Il simbolo "." e stato sostituito per permettere a "OFF" di continuare.
ERRORE alla riga 6:
ORA-06550:里加6号,科隆纳26号:
PLS-00103:Trovato il simbolo“OFF”anziche uno dei Segunti:
. ( * @ %
&=-+;in处为mod余数而非rem

o!=o~=>=要在SQL*中动态指定spool文件,您可能不想使用以下内容:

column filename new_val filename
select 'file_' || to_char(sysdate, 'yyyymmdd' ) filename from dual;
spool &filename
不幸的是,我不明白这与您也发布的(意大利)错误消息有什么关系

如果您可以显示完整的输出,包括行号和英文错误文本,这可能会更好地理解。
错误是否在“spool off”的行中,您是否尝试在spool off之前添加一个空行?

@giancarlo然后请您将我的答案标记为解决方案。我使用了相同的变量名v_id_rapto:=&id_rapto,现在一切正常。