sql - rol - ¿Por qué no puedo no puedo usar mi tipo de usuario definido de Oracle como este?
otorgar privilegios a usuarios oracle (1)
En un paquete de Oracle he definido un tipo
type setTable is table of my_sets.pkey%type;
en la declaración del paquete (la parte que no es del cuerpo). La columna pkey
que se hace referencia es un number(38)
. Luego en una función en el cuerpo del paquete tengo
...
with d as (select column_value from table(sets)),
...
donde sets
es un parámetro para la función de tipo settable
. Esta línea no puede compilarse con el error ''ORA-22905: no puede acceder a las filas desde un elemento de tabla no anidado''. ¿Qué puedo hacer para resolver esto?
La instrucción select es SQL no PL / SQL, y el motor SQL solo puede funcionar con tipos definidos en el servidor de esta manera:
create type setObj is object (<attributes>);
create type setTable is table of setObj;