Quiero escribir un tipo de objeto tipo mapa en PL/SQL. Lo que quiero decir es una lista de pares clave-valor, donde un valor puede ser otra lista de pares clave-valor. Simple, o eso creía. Éstos son los dos simplificada¿Tipo de objeto tipo mapa en PL/SQL?
CREATE OR REPLACE TYPE TKey AS OBJECT
(
name varchar2(240),
value_text varchar2(2000),
value_map TMap
)
CREATE OR REPLACE TYPE TMap AS TABLE OF TKey
Tal vez no es tan simple, porque ahora tengo un "huevo o la gallina" -problema. Si coloco TKey primero, se quejará de que TMap no está definido. Si pongo TMap primero, se quejará de que TKey no está definido. Si coloco TKey y dejo fuera la línea value_map, agrego el tipo de TMap, luego trato de reemplazar el tipo de TKey, él no lo permitirá.
¿No tengo suerte? ¿Tal construcción no es posible en PL/SQL?
Gracias de antemano
Aclaración: Lo que quiero es algo, que me puede dar esto: Un mapa que contiene las teclas a, b y c. El valor de a es varchar "hello", el valor de b es varchar "world", y el valor de c es otro mapa, con las teclas x e y, y el valor de x es "what's" y el valor de y estar "arriba".
Esto es lo que se vería en Java:
Map<String, Object> map = new HashMap<String, Object>();
map.set("a", "Hello");
map.set("b", "World");
Map<String, Object> child = new HashMap<String, Object>();
child.set("x", "What's");
child.set("y", "up");
map.set("c", child);
Ahora sé que algo como "objeto" como ser capaz de almacenar cualquier cosa que no es posible. Lo que necesito es un objeto que pueda almacenar una lista de objetos del mismo tipo que este objeto. Entonces, básicamente, un árbol, sí.
Creo que tienes razón, probablemente estoy en el camino equivocado aquí, en conjunto. –