在通过PL / SQL过程从oracle数据库生成一些报告时,我们面临一个问题。 问题是生成的CSV文件中的某些字段变为空白。
我们正在使用select语句根据过滤条件从表中获取行。 然后将结果中每一行的列追加到变量中。 v_invx_data_recordx VARCHAR2(15000):='';
收集的v_invx_data_recordx稍后循环播放,并写入以下文件-
UTL_FILE.put_line (file_id, v_string_content);
代码中没有抛出异常,正在生成CSV文件,但是中间缺少一些字段。我们单独运行查询,可以看到选择查询中的所有字段均可用。在运行时如何丢失这些字段的任何输入? oracle中的空间问题会导致这种行为吗?
下面是相关代码段
v_inv_xdata_recordx := v_invx_data_recordx
|| '"' || tab_invx_data_tabx (i).bdx_airport_codex
|| '"' || con_comma;
v_inv_xdata_recordx := v_invx_data_recordx
|| '"' || tab_invx_data_tabx (i).offx_airport_codex
|| '"' || con_comma;
p_tab_invx (i_line_count).file_contentx := v_invx_data_record;x
n_recx_countx := p_tab_invx.COUNT;
FOR i IN 1 .. n_recx_countx
LOOP
v_string_contentx := p_tab_inv (i).file_contentx;
UTL_FILE.put_line (file_id, v_string_contentx);
END LOOP;
UTL_FILE.put_line (file_id, v_string_contentx);```