Las colecciones son una estructura temporal (digamos que una especie de tabla temporal) que permiten almacenar datos de tipo escalar (datos caracter) de forma temporal mientras una sesión está activa en un aplicativo.
Un ejemplo en el que se pueden usar colecciones, es el carrito de compras. A medida que se van escogiendo los diferentes articulos, dicha información se va almacenando en la colección.
Las colecciones se manejan con el package APEX_COLLECTION, y se acceden en un reporte, procedimiento o PL/SQL consultando la pseudo vista APEX_COLLECTIONS.
Un ejemplo de la forma de acceder a una colección que ya ha sido creada es el siguiente:
SELECT c001 Col1, c002 Col2
FROM apex_collections
WHERE collection_name = 'MI_COLECCION' --Nombre de la colección.
Veamos un ejemplo donde creamos y poblamos una coleccion:
begin
APEX_COLLECTION.CREATE_COLLECTION('MARCAS_VEHICULOS');
APEX_COLLECTION.ADD_MEMBER(p_collection_name =>'MARCAS_VEHICULOS',
p_c001 => 'Ford');
APEX_COLLECTION.ADD_MEMBER(p_collection_name =>'MARCAS_VEHICULOS',
p_c001 => 'Honda');
APEX_COLLECTION.ADD_MEMBER(p_collection_name =>'MARCAS_VEHICULOS',
p_c001 => 'Mazsa');
end;
La instrucción APEX_COLLECTION.CREATE_COLLECTION('MARCAS_VEHICULOS');crea la colecciónlas instrucciones APEX_COLLECTION.
ADD_MEMBER adicionan miembros o filas a la colección. El primer parámetro es el nombre de la colección. Posteriormente, podriamos hacer el siguiente reporte:
SELECT c001 Marca_Vehiculo
FROM apex_collections
WHERE collection_name = 'MARCAS_VEHICULOS' --Nombre de la colección.
Espero que este ejemplo los haya ilustrado un poco.
No hay comentarios:
Publicar un comentario