基本上我使用批处理文件在Windows任务计划程序上运行.sql文件。批处理文件生成一个显示所有put_lines的日志文件。我现在还希望看到赋给变量的值: v_chks_dm ,但无法找到实现它的方法。尝试了get_line语句但失败了...有谁知道怎么做? 谢谢!
这是批处理文件中的内容:
echo off
echo ****************************>>C:\output.log
sqlplus userid/password@csdpro @V:\CONDITION_TEST.sql>>C:\output.log
这里是.sql文件
declare
v_chks_dm number;
begin
Select /*+parallel (a,4)*/ count(distinct a.src_table) into v_chks_dm
from hcr_dm.hcr_dm_fact a;
dbms_output.put_line('v_chkt_dm value assigned');
-- dbms_output.get_line(v_chks_dm);
if.... then... else.... end if;
end;
还有一个问题......如果变量是一个数组怎么办?我有这样的东西,但得到一个错误说ORA-06533:下标超出计数。数组中的值的数量通常在0到10之间变化,但可能更多。谢谢!
declare
type v_chks_array is varray(10) of varchar2(50);
arrSRCs v_chks_array;
begin
arrSRCs :=v_chks_array();
arrSRCs.EXTEND(10);
Select /*+parallel (a,4)*/ distinct a.src_table BULK collect into arrSRCs
from hcr_dm.hcr_dm_fact a;
dbms_output.put_line(arrSRCs(10));
end;
答案 0 :(得分:0)
dbms_output.put_line('v_chkt_dm value = ' || v_chkt_dm);
或更好
dbms_output.put_line('v_chkt_dm value = ' || to_char(v_chkt_dm, '<number format>'));
您可以在documentation中选择合适的数字格式。