El paquete APEX_DATA_LOADING proporciona la capacidad de cargar datos llamando a una definición de carga de datos de la aplicación. Esto se puede usar en lugar de la carga de datos nativos.
Este paquete usa los siguientes tipos de datos:
type t_data_load_result is record(
processed_rows PLS_INTEGER,
error_rows PLS_INTEGER );
El paquete está compuesto por las siguientes funciones.
Función GET_FILE_PROFILE
Esta función devuelve el perfil del archivo (determinado por la definición de carga de datos) en formato JSON.
La sintaxis de la función es:
APEX_DATA_LOADING.GET_FILE_PROFILE (
p_application_id IN NUMBER DEFAULT apex_application.g_flow_id,
p_static_id IN VARCHAR2 )
RETURN CLOB;
Donde:
Parámetro | Descripción |
---|---|
p_application_id |
Identificador de la aplicación que contiene la definición de carga de datos. |
p_static_id |
Identificador estático de la definición de carga de datos a ejecutar. |
Un ejemplo del uso de esta función es:
select p.line_number,
p.col001, p.col002, p.col003, p.col004, p.col005, p.col006, p.col007, p.col008, p.col009, p.col010
from apex_application_temp_files f,
table( apex_data_parser.parse(
p_content => f.blob_content,
p_file_name => f.filename,
p_file_profile => apex_data_loading.get_file_profile( p_static_id =>
‘my-load-definition’),
p_max_rows => 100 ) ) p
where f.name = :P1_FILE
Función LOAD_DATA Firma 1
Esta función carga datos de archivo y devuelve información de estado de carga que contiene filas procesadas y filas de errores.
La sintaxis de la función es:
APEX_DATA_LOADING.LOAD_DATA (
p_application_id IN NUMBER DEFAULT apex_application.g_flow_id,
p_static_id IN VARCHAR2,
p_data_to_load IN BLOB,
p_xlsx_sheet_name IN VARCHAR2 DEFAULT NULL )
RETURN t_data_load_result;
Donde:
Parámetro | Descripción |
---|---|
p_application_id |
Identificador de la aplicación que contiene la definición de carda de datos. |
p_static_id |
Identiificador estático de la definición de carga de datos a ejecutar. |
p_data_to_load |
Archivo BLOB a ser cargado. |
p_xlsx_sheet_name |
Para archivos XLSX, la hoja de cálculo a extraer. |
Un ejemplo del uso de esta función es:
DECLARE
l_file blob;
l_load_result apex_data_loading.t_data_load_result;
BEGIN
apex_session.create_session( 100, 1, ‘ADMIN’ );
SELECT blob_content
INTO l_file
FROM apex_application_temp_files
WHERE name = :PX_FILEBROWSE_ITEM;
l_load_result := apex_data_loading.load_data (
p_static_id => ‘my-load-definition’,
p_data_to_load => l_file );
dbms_output.put_line( ‘Processed ‘ || l_load_result.processed_rows || ‘ rows.’);
END;
Función LOAD_DATA Firma 2
Esta función carga datos CLOB y devuelve información de estado de carga que contiene filas procesadas y filas de errores.
La sintaxis de la función es:
APEX_DATA_LOADING.LOAD_DATA (
p_application_id IN NUMBER DEFAULT apex_application.g_flow_id,
p_static_id IN VARCHAR2,
p_data_to_load IN CLOB,
p_xlsx_sheet_name IN VARCHAR2 DEFAULT NULL )
RETURN t_data_load_result;
Donde:
Parámetro | Descripción |
---|---|
p_application_id |
Identificador de la aplicación que contiene la definición de carga de datos. |
p_static_id |
Identificador estático de la definición de carga de datos a ejecutar. |
p_data_to_load |
Datos CLOB a cargar. |
p_xlsx_sheet_name |
Para archivos XLSX, la hoja de cálculo a extraer. |
Un ejemplo del uso de esta función es:
DECLARE
l_load_result apex_data_loading.t_data_load_result;
BEGIN
apex_session.create_session( 100, 1, ‘ADMIN’ );
l_load_result := apex_data_loading.load_data (
p_static_id => ‘my-load-definition’,
p_data_to_load => :PX_DATA );
dbms_output.put_line( ‘Processed ‘ || l_load_result.processed_rows || ‘ rows.’);
END;