oracle 使用APEX_COLLECTION上传Excel,CREATE_COLLECTION_FROM_QUERY_B

mbzjlibv  于 2023-06-29  发布在  Oracle
关注(0)|答案(1)|浏览(101)

我想上传一个Excel文件,并通过此代码在集合中显示它。

declare
l_query clob;

begin

l_query := 'select *  from
                   apex_application_temp_files f, table( apex_data_parser.parse(
                                    p_content                     => f.blob_content,
                                    p_file_name                   => f.filename,
                                     p_skip_rows => 1 ) ) p
                                      where   f.name = :P14_UPLOAD )';
                
     APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY_B (
         p_collection_name => 'IMPORT',
         p_query => l_query,
         p_truncate_if_exists => 'YES',
         p_names => apex_util.string_to_table('P14_UPLOAD'),
         p_values => apex_util.string_to_table(:P14_UPLOAD));
                      
                                    
end;

但是我不知道p_names => apex_util.string_to_table('P14_UPLOAD')和p_values => apex_util.string_to_table(:P14_UPLOAD)我应该怎么做才能获得我的文件浏览器的名称。
:P14_UPLOAD页面中的名称文件浏览器。
请帮帮我。谢谢。

kgqe7b3p

kgqe7b3p1#

是的,医生对此不太清楚。试试这个:

declare
  l_query clob;
  l_names apex_application_global.vc_arr2;
  l_values apex_application_global.vc_arr2;
begin
  l_names(1) := 'UPLOAD';
  l_values(1) := :P14_UPLOAD;
  l_query := 'select *  from
                   apex_application_temp_files f, table( apex_data_parser.parse(
                                    p_content                     => f.blob_content,
                                    p_file_name                   => f.filename,
                                     p_skip_rows => 1 ) ) p
                                      where   f.name = :UPLOAD )';
                
     APEX_COLLECTION.CREATE_COLLECTION_FROM_QUERY_B (
         p_collection_name => 'IMPORT',
         p_query => l_query,
         p_truncate_if_exists => 'YES',
         p_names => l_names,
         p_values => l_values);
                                                      
end;

如果需要,可以将l_values(1)替换为硬编码值。

相关问题