Usando Oracle Apex apex_data_export.download, a cláusula where é ignorada. A saída mostra o conteúdo de cada linha na coluna OUTPUT.
O código é executado em um tipo de processo execute code, execução após regiões. Preciso usar o valor de :P0_SUB que tem um valor antes da página ser carregada. A cláusula where está errada? Como o valor de :P0_SUB é acessado pelo processo? Preciso alterar o ponto de execução?
O código
l_context := apex_exec.open_query_context(
p_location => apex_exec.c_location_local_db,
p_sql_query => 'select output from TFA_USER',
p_where_clause => 'SUB = ' ||:P0_SUB);
l_export := apex_data_export.export (
p_context => l_context,
p_format => apex_data_export.c_format_json,
p_file_name => 'test' );
apex_exec.close( l_context );
apex_data_export.download( p_export => l_export );
EXCEPTION
when others THEN
apex_exec.close( l_context );
raise;
APEX_JSON.free_output;
QUANDO EU USO O SEGUINTE CÓDIGO:
l_context := apex_exec.open_query_context(
p_location => apex_exec.c_location_local_db,
p_sql_query => 'select OUTPUT from TFA_USER where SUB = ' || :P0_SUB);
Recebo o seguinte erro
ORA-00904: "TEST"."USER": invalid identifier
Qual é a maneira de obter apenas uma linha?