En la entrada anterior, puede encontrar el segundo grupo de funciones y procedimientos del paquete API APEX_COLLECTION, en esta, continuamos con el grupo final de las mismas.
Procedimiento RESET_COLLECTION_CHANGED
Utilice este procedimiento para restablecer el indicador de cambio de colección (marcar como no cambiado) para una colección determinada.
Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión y para el ID de aplicación actual, se genera un error de aplicación.
La sintaxis del procedimiento es:
APEX_COLLECTION.RESET_COLLECTION_CHANGED (
p_collection_name IN VARCHAR2);
Donde:
Parámetro | Descripción |
---|---|
p_collection_name |
El nombre de la colección para restablecer el indicador de cambio de colección. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.RESET_COLLECTION_CHANGED (
p_collection_name => ‘DEPARTMENTS’);
END;
Procedimiento RESET_COLLECTION_CHANGED_ALL
Utilice este procedimiento para restablecer el indicador de cambio de colección (marcar como no cambiado) para todas las colecciones en la sesión actual del usuario.
La sintaxis del procedimiento es:
APEX_COLLECTION.RESET_COLLECTION_CHANGED_ALL;
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.RESET_COLLECTION_CHANGED_ALL;
END;
Procedimiento SORT_MEMBERS
Utilice este procedimiento para reordenar los miembros de una colección dada por el número de columna especificado por p_sort_on_column_number. Esto ordena la colección por una columna/atributo en particular en la colección y reasigna los ID de secuencia de cada número de modo que no existan espacios. Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión y para el ID de aplicación actual, se genera un error de aplicación.
La sintaxis del procedimiento es:
APEX_COLLECTION.SORT_MEMBERS (
p_collection_name IN VARCHAR2,
p_sort_on_column_number IN NUMBER);
Donde:
Parámetro | Descripción |
---|---|
p_collection_name |
El nombre de la colección a ordenar. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
p_sort_on_column_number |
El número de columna utilizado para ordenar la colección. El dominio de valores posibles es de 1 a 50. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.SORT_MEMBERS (
p_collection_name => ‘DEPARTMENTS’,
p_sort_on_column_number => ‘2’;
END;
Procedimiento TRUNCATE_COLLECTION
Utilice este procedimiento para eliminar todos los miembros de una colección con nombre.
Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión y para el ID de aplicación actual, se genera un error de aplicación.
La sintaxis del procedimiento es:
APEX_COLLECTION.TRUNCATE_COLLECTION (
p_collection_name IN VARCHAR2);
Donde:
Parámetro | Descripción |
---|---|
p_collection_name |
El nombre de la colección a truncar. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.TRUNCATE_COLLECTION(
p_collection_name => ‘DEPARTMENTS’);
END;
Procedimiento UPDATE_MEMBER
Utilice este procedimiento para actualizar el miembro especificado en la colección con nombre dada.
Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión y para el ID de aplicación actual, se genera un error de aplicación. Si el miembro especificado por el ID de secuencia p_seq no existe, se genera un error de aplicación.
Nota: El uso de este procedimiento establece las columnas identificadas y anula las columnas no identificadas. Para actualizar columnas específicas, sin afectar los valores de otras columnas, use «UPDATE_MEMBER_ATTRIBUTE Procedimiento Firma 1».
La sintaxis del procedimiento es:
APEX_COLLECTION.UPDATE_MEMBER (
p_collection_name IN VARCHAR2,
p_seq IN VARCHAR2 DEFAULT NULL,
p_c001 IN VARCHAR2 DEFAULT NULL,
p_c002 IN VARCHAR2 DEFAULT NULL,
p_c003 IN VARCHAR2 DEFAULT NULL,
…
p_c050 IN VARCHAR DEFAULT NULL,
p_n001 IN NUMBER DEFAULT NULL,
p_n002 IN NUMBER DEFAULT NULL,
p_n003 IN NUMBER DEFAULT NULL,
p_n004 IN NUMBER DEFAULT NULL,
p_n005 IN NUMBER DEFAULT NULL,
p_d001 IN DATE DEFAULT NULL,
p_d002 IN DATE DEFAULT NULL,
p_d003 IN DATE DEFAULT NULL,
p_d004 IN DATE DEFAULT NULL,
p_d005 IN DATE DEFAULT NULL,
p_clob001 IN CLOB DEFAULT empty_clob(),
p_blob001 IN BLOB DEFAULT empty-blob(),
p_xmltype001 IN XMLTYPE DEFAULT NULL );
Donde:
Parámetro | Descripción |
---|---|
p_collection_name |
El nombre de la colección a actualizar. La longitud máxima es de 255 bytes. Los nombres de las colecciones no distinguen entre mayúsculas y minúsculas y se convierten a mayúsculas. |
p_c001 through p_c050 |
Valor de atributo del miembro que se va a agregar. La longitud máxima es de 4.000 bytes. Cualquier atributo de carácter que supere los 4000 caracteres se trunca a 4000 caracteres. |
p_n001 through p_n005 |
Valor de atributo de los atributos numéricos que se agregarán o actualizarán. |
p_d001 through p_d005 |
Valor de atributo de los atributos de fecha que se agregarán o actualizarán. |
p_clob001 |
Utilice p_clob001 para los atributos de los miembros de la colección que superen los 4000 caracteres. |
p_blob001 |
Utilice p_blob001 para los atributos de miembros de la colección binaria. |
p_xmltype001 |
Utilice p_xmltype001 para almacenar XML bien formado. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.UPDATE_MEMBER (
p_collection_name => ‘Departments’,
p_seq => ‘2’,
p_c001 => ‘Engineering’,
p_c002 => ‘Sales’);
END;
Procedimiento UPDATE_MEMBERS
Utilice este procedimiento para actualizar la matriz de miembros de la colección con nombre dada. Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión y para el ID de aplicación actual, se genera un error de aplicación. El recuento de elementos en la tabla p_seq PL/SQL se usa como el número total de elementos en todas las tablas PL/SQL. Es decir, si p_seq.count = 2 y p_c001.count = 10, solo 2 miembros se actualizan_apex_application_globalted. Si p_seq es nulo, se genera un error de aplicación. Si el miembro especificado por el ID de secuencia p_seq no existe, se genera un error de aplicación.
La sintaxis del procedimiento es:
APEX_COLLECTION.UPDATE_MEMBERS (
p_collection_name IN VARCHAR2,
p_seq IN apex_application_global.VC_ARR2 DEFAULT empty_vc_arr,
p_c001 IN apex_application_global.VC_ARR2 DEFAULT empty_vc_arr,
p_c002 IN apex_application_global.VC_ARR2 DEFAULT empty_vc_arr,
p_c003 IN apex_application_global.VC_ARR2 DEFAULT empty_vc_arr,
…
p_c050 IN apex_application_global.VC_ARR2 DEFAULT empty_vc_arr,
p_n001 IN apex_application_global.N_ARR DEFAULT empty_n_arr,
p_n002 IN apex_application_global.N_ARR DEFAULT empty_n_arr,
p_n003 IN apex_application_global.N_ARR DEFAULT empty_n_arr,
p_n004 IN apex_application_global.N_ARR DEFAULT empty_n_arr,
p_n005 IN apex_application_global.N_ARR DEFAULT empty_n_arr,
p_d001 IN apex_application_global.D_ARR DEFAULT empty_d_arr,
p_d002 IN apex_application_global.D_ARR DEFAULT empty_d_arr,
p_d003 IN apex_application_global.D_ARR DEFAULT empty_d_arr,
p_d004 IN apex_application_global.D_ARR DEFAULT empty_d_arr,
p_d005 IN apex_application_global.D_ARR DEFAULT empty_d_arr)
Nota: Cualquier atributo de carácter que supere los 4000 caracteres se trunca a 4000 caracteres. Además, la cantidad de miembros agregados se basa en la cantidad de elementos en la primera matriz.
Donde:
Parámetro | Descripción |
---|---|
|
El nombre de la colección a actualizar. La longitud máxima es de 255 bytes. Los nombres de las colecciones no distinguen entre mayúsculas y minúsculas y se convierten a mayúsculas. |
|
Matriz de ID de secuencia de miembro que se actualizará. El recuento de la matriz p_seq se usa en todas las matrices. |
|
Matriz de valores de atributo que se actualizará. |
|
Valor de atributo de numérico. |
|
Matriz de valores de atributo de fecha que se actualizará. |
Un ejemplo del uso de este procedimiento es:
DECLARE
l_seq apex_application_global.vc_arr2;
l_carr apex_application_global.vc_arr2;
l_narr apex_application_global.n_arr;
l_darr apex_application_global.d_arr;
BEGIN
l_seq(1) := 10;
l_seq(2) := 15;
l_carr(1) := ‘Apples’;
l_carr(2) := ‘Grapes’;
l_narr(1) := 100;
l_narr(2) := 150;
l_darr(1) := sysdate;
l_darr(2) := sysdate;
APEX_COLLECTION.UPDATE_MEMBERS (
p_collection_name => ‘Groceries’,
p_seq => l_seq,
p_c001 => l_carr,
p_n001 => l_narr,
p_d001 => l_darr);
END;
Procedimiento UPDATE_MEMBER_ATTRIBUTE Firma 1
Actualice el atributo de miembro especificado en la colección con nombre dada. Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión para el ID de aplicación actual, se genera un error de aplicación. Si el miembro especificado por el ID de secuencia p_seq no existe, se genera un error de aplicación. Si el número de atributo especificado no es válido o está fuera del rango 1-50, se genera un error. Cualquier valor de atributo que supere los 4000 bytes se trunca a 4000 bytes.
La sintaxis del procedimiento es:
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name IN VARCHAR2,
p_seq IN NUMBER,
p_attr_number IN NUMBER,
p_attr_value IN VARCHAR2);
Donde:
Parámetro | Descripción |
---|---|
|
El nombre de la colección. La longitud máxima puede ser de 255 bytes. Los nombres de colección no distinguen entre mayúsculas y minúsculas, ya que el nombre de la colección se convierte a mayúsculas. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
|
ID de secuencia del miembro de la colección que se va a actualizar. |
|
Número de atributo del atributo de miembro que se va a actualizar. Los valores válidos son del 1 al 50. Cualquier número fuera de este rango se ignora. |
|
Valor de atributo del atributo de miembro que se va a actualizar. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name => ‘Departments’,
p_seq => 2,
p_attr_number => 1,
p_attr_value => ‘Engineering’);
END;
Procedimiento UPDATE_MEMBER_ATTRIBUTE Firma 2
Actualice el atributo de miembro CLOB especificado en la colección con el nombre dado.
Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión para el ID de aplicación actual, se genera un error de aplicación.
Si el miembro especificado por el ID de secuencia p_seq no existe, se genera un error de aplicación.
Si el número de atributo especificado no es válido o está fuera del rango válido (actualmente solo 1 para CLOB), se genera un error.
La sintaxis del procedimiento es:
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name IN VARCHAR2,
p_seq IN NUMBER,
p_clob_number IN NUMBER,
p_clob_value IN CLOB );
Donde:
Parámetro | Descripción |
---|---|
p_collection_name |
El nombre de la colección. La longitud máxima puede ser de 255 bytes. Los nombres de colección no distinguen entre mayúsculas y minúsculas, ya que el nombre de la colección se convierte a mayúsculas. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
p_seq |
ID de secuencia del miembro de la colección que se va a actualizar. |
p_clob_number |
Número de atributo del atributo de miembro CLOB que se actualizará. El valor válido es 1. Cualquier número fuera de este rango se ignora. |
p_clob_value |
Valor de atributo del atributo de miembro CLOB que se actualizará. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name => ‘Departments’,
p_seq => 2,
p_clob_number => 1,
p_clob_value => ‘Engineering’);
END;
Procedimiento UPDATE_MEMBER_ATTRIBUTE Firma 3
Actualice el atributo de miembro BLOB especificado en la colección con nombre dada. Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión para el ID de aplicación actual, se genera un error de aplicación. Si el miembro especificado por el ID de secuencia p_seq no existe, se genera un error de aplicación. Si el número de atributo especificado no es válido o está fuera del rango válido (actualmente solo 1 para BLOB), se genera un error.
La sintaxis del procedimiento es:
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name IN VARCHAR2,
p_seq IN NUMBER,
p_blob_number IN NUMBER,
p_blob_value IN BLOB);
Donde:
Parámetro | Descripción |
---|---|
|
El nombre de la colección. La longitud máxima puede ser de 255 bytes. Los nombres de colección no distinguen entre mayúsculas y minúsculas, ya que el nombre de la colección se convierte a mayúsculas. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
|
ID de secuencia del miembro de la colección que se va a actualizar. |
|
Número de atributo del atributo de miembro BLOB que se actualizará. El valor válido es 1. Cualquier número fuera de este rango se ignora. |
|
Valor de atributo del atributo de miembro BLOB que se va a actualizar. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name => ‘Departments’,
p_seq => 2,
p_blob_number => 1,
p_blob_value => l_blob_content);
END;
Procedimiento UPDATE_MEMBER_ATTRIBUTE Firma 4
Actualice el atributo de miembro XMLTYPE especificado en la colección con nombre dada. Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión para el ID de aplicación actual, se genera un error de aplicación. Si el miembro especificado por el ID de secuencia p_seq no existe, se genera un error de aplicación. Si el número de atributo especificado no es válido o está fuera del rango válido (actualmente solo 1 para XMLTYPE), se genera un error.
La sintaxis del procedimiento es:
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name IN VARCHAR2,
p_seq IN NUMBER,
p_xmltype_number IN NUMBER,
p_xmltype_value IN BLOB);
Donde:
Parámetro | Descripción |
---|---|
|
El nombre de la colección. La longitud máxima puede ser de 255 bytes. Los nombres de colección no distinguen entre mayúsculas y minúsculas, ya que el nombre de la colección se convierte a mayúsculas. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
|
ID de secuencia del miembro de la colección que se va a actualizar. |
|
Número de atributo del atributo de miembro XMLTYPE que se actualizará. El valor válido es 1. Cualquier número fuera de este rango se ignora. |
|
Valor de atributo del atributo de miembro XMLTYPE que se va a actualizar. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name => ‘Departments’,
p_seq => 2,
p_xmltype_number => 1,
p_xmltype_value => l_xmltype_content);
END;
Procedimiento UPDATE_MEMBER_ATTRIBUTE Firma 5
Actualice el atributo de miembro NUMBER especificado en la colección con nombre dada. Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión para el ID de aplicación actual, se genera un error de aplicación. Si el miembro especificado por el ID de secuencia p_seq no existe, se genera un error de aplicación. Si el número de atributo especificado no es válido o está fuera del rango válido (actualmente solo del 1 al 5 para NÚMERO), se genera un error.
La sintaxis del procedimiento es:
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name IN VARCHAR2,
p_seq IN NUMBER,
p_attr_number IN NUMBER,
p_number_value IN NUMBER);
Nota: Cualquier atributo de carácter que supere los 4000 caracteres se trunca a 4000 caracteres. Además, la cantidad de miembros agregados se basa en la cantidad de elementos en la primera matriz.
Donde:
Parámetro | Descripción |
---|---|
|
El nombre de la colección. La longitud máxima puede ser de 255 bytes. Los nombres de colección no distinguen entre mayúsculas y minúsculas, ya que el nombre de la colección se convierte a mayúsculas. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
|
ID de secuencia del miembro de la colección que se va a actualizar. |
|
Número de atributo del atributo de miembro NUMBER que se actualizará. El valor válido es de 1 a 5. Cualquier número fuera de este rango se ignora. |
|
Valor de atributo del atributo de miembro NUMBER que se actualizará. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name => ‘Departments’,
p_seq => 2,
p_attr_number => 1,
p_number_value => 3000);
END;
Procedimiento UPDATE_MEMBER_ATTRIBUTE Firma 6
Actualice el atributo de miembro DATE especificado en la colección nombrada dada. Si no existe una colección con el nombre especificado para el usuario actual en la misma sesión para el ID de aplicación actual, se genera un error de aplicación. Si el miembro especificado por el ID de secuencia p_seq no existe, se genera un error de aplicación. Si el número de atributo especificado no es válido o está fuera del rango válido (actualmente solo del 1 al 5 para DATE), se genera un error.
La sintaxis del procedimiento es:
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name IN VARCHAR2,
p_seq IN NUMBER,
p_attr_number IN NUMBER,
p_date_value IN DATE);
Nota: Cualquier atributo de carácter que supere los 4000 caracteres se trunca a 4000 caracteres. Además, la cantidad de miembros agregados se basa en la cantidad de elementos en la primera matriz.
Donde:
Parámetro | Descripción |
---|---|
|
El nombre de la colección. La longitud máxima puede ser de 255 bytes. Los nombres de colección no distinguen entre mayúsculas y minúsculas, ya que el nombre de la colección se convierte a mayúsculas. Se devuelve un error si esta colección no existe con el nombre especificado del usuario actual y en la misma sesión. |
|
ID de secuencia del miembro de la colección que se va a actualizar. |
|
Número de atributo del atributo de miembro DATE que se actualizará. El valor válido es de 1 a 5. Cualquier número fuera de este rango se ignora. |
|
Valor de atributo del atributo de miembro DATE que se actualizará. |
Un ejemplo del uso de este procedimiento es:
BEGIN
APEX_COLLECTION.UPDATE_MEMBER_ATTRIBUTE (
p_collection_name => ‘Departments’,
p_seq => 2,
p_attr_number => 1,
p_date_value => sysdate );
END;