Oracle 将数组作为参数传递给过程,而不在数据库中创建varray类型

Oracle 将数组作为参数传递给过程,而不在数据库中创建varray类型,oracle,plsql,procedure,Oracle,Plsql,Procedure,我需要将一个数组从java传递到我的过程。通过创建一个varray类型,我可以很容易地做到这一点,但我的问题是我没有创建任何对象的权限 是否有任何方法可以在不使用CREATE TYPE的情况下将数组作为参数传递给过程 这取决于所需阵列的结构。Oracle有许多内置的集合。常用的有 sys.dbms_debug_vc2coll,它是varchar21000的嵌套表 sys.odcivarchar2list-varchar24000的VARRAY32767 sys.odcinumberlist-编号

我需要将一个数组从java传递到我的过程。通过创建一个varray类型,我可以很容易地做到这一点,但我的问题是我没有创建任何对象的权限


是否有任何方法可以在不使用CREATE TYPE的情况下将数组作为参数传递给过程

这取决于所需阵列的结构。Oracle有许多内置的集合。常用的有

sys.dbms_debug_vc2coll,它是varchar21000的嵌套表 sys.odcivarchar2list-varchar24000的VARRAY32767 sys.odcinumberlist-编号为VARRAY32767的 sys.odcidatelist-大胆猜测: 数据库中已经安装了许多其他嵌套表和varray。运行此查询以查看列表

select * from all_types
where typecode = 'COLLECTION'
/

我认为,与其搜索和实施变通方法(这可能会在以后引起问题),不如让DBA授予您适当的权限或自己创建对象。我已经问过了,但他们拒绝了权限。那么,还有其他方法吗?