usuarios usuario rol privilegios otorgar lista crear consultar asignar all 12c sql oracle plsql

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;