我有2个选择,我需要将它移动到2个不同的文件中: 例如:
SET SERVEROUTPUT ON
SET TERMOUT OFF
SET LINESIZE 4000
SET FEEDBACK OFF
SET HEADING OFF
SET TRIMSPOOL ON
SPOOL SAP.CSV
DECLARE
lRecordCount NUMBER(10) := 2;
lRecordCount2 NUMBER(10) := 2;
BEGIN
FOR t IN (SELECT distinct c.customerno line
FROM customer c
WHERE c.status = 1
and c.type = 2
and c.customerno like '2%'
and rownum <= 150)
LOOP
dbms_output.put_line(t.line);
lRecordCount := lRecordCount + 1;
END LOOP;
FOR t2 IN (SELECT distinct i.invoiceno line
FROM invoice i
WHERE i.amount > 0
and i.invoiceno is not null
and rownum <= 150
and i.invoiceno like '295%')
LOOP
dbms_output.put_line(t2.line);
lRecordCount2 := lRecordCount2 + 1;
END LOOP;
END;
/
SPOOL OFF
EXIT
我需要将“t”和“t2”的结果记录到两个不同的文件中:SAP.CSV,INV.CSV
是否可以使用sqlplus以及如何操作?
答案 0 :(得分:0)
将FOR循环放在两个不同的匿名块中,然后在它们之间执行SPOOL OFF
后跟SPOOL INV.CSV
。第一个应该转到一个文件而第二个应该转到另一个文件。