miércoles, 27 de julio de 2011

Trabajar con varrays en Oracle

Aunque a nivel personal no los he utilizado nunca, en algunas ocasiones me he encontrado en proyectos de mantenimiento con modelos de datos que definían sus propios tipos en Oracle. Lo más habitual es la definición de una colección de elementos utilizando VARRAY.

Cada vez que uno de estos casos se presenta ante mí, me asalta la misma duda. ¿Cómo actualizo o inserto datos en una columna de un tipo definido sobre un VARRAY? La realidad es que no tiene complejidad ninguna. En este caso el valor se crea de forma similar a como se haría con un objeto, poniendo el nombre del tipo y, entre paréntesis, el contenido del array, con los valores separados por comas.

Por ejemplo, si hemos definido este tipo:

CREATE OR REPLACE TYPE MY_TYPE AS VARRAY(100)  OF VARCHAR2(32);

Insertaríamos en esa columna así:

INSERT INTO NOMBRE_TABLE (CAMPO_ARRAY) VALUES (MY_TYPE('1', '2', '3'));

La forma de actualizar sería análoga.

No hay comentarios:

Publicar un comentario

Cualquier aportación será bienvenida