问题描述
我的页面上有一个文件浏览,允许用户选择一个Excel文件。然后,当单击按钮时,将提交页面,然后我调用一个过程,该过程根据所选的文件名从apex_application_temp_files
检索数据。
SELECT col001,col002
FROM apex_application_temp_files f,table( apex_data_parser.parse(
p_content => f.blob_content,p_add_headers_row => 'N',p_xlsx_sheet_name => NULL,p_max_rows => 500,p_store_profile_to_collection => 'FILE_PARSER_COLLECTION',p_file_name => f.filename
))
WHERE f.name = :P2_FILE_broWSE
数据显示很好,但是当我尝试处理显示它的数据时,没有检索到任何数据。我使用相同的查询:
FOR x IN (SELECT col001,col002
FROM apex_application_temp_files f,p_file_name => f.filename
))
WHERE f.name = :P2_FILE_broWSE)
LOOP
apex_debug.message('First field is ',x.col001);
apex_debug.message('Second field is ',x.col002);
END LOOP;
不知道发生了什么,为什么不显示数据。我在做什么错了?
解决方法
似乎正在检索记录,但是调试未显示它们,因为消息中缺少%s。另外,需要在发出调试语句之前启用调试。
apex_debug.enable;
apex_debug.message('First field is %s',x.col001);
apex_debug.message('Second field is %s',x.col002);