提供你不要害怕明确引用SYS模式有几个.这里有一些我经常使用(odcivarchar2list不太好,因为它嚼了很多内存:对于我喜欢dbms_debug_vc2coll的字符串).
sql> desc sys.odcinumberlist
sys.odcinumberlist VARRAY(32767) OF NUMBER
sql> desc sys.odcivarchar2list
sys.odcivarchar2list VARRAY(32767) OF VARCHAR2(4000)
sql> desc sys.ODCIDATELIST
sys.ODCIDATELIST VARRAY(32767) OF DATE
sql> desc sys.dbms_debug_vc2coll
sys.dbms_debug_vc2coll TABLE OF VARCHAR2(1000)
sql>
但是,如果这些不足以满足您的需求,请运行此查询以查找更多内容:
select type_name,owner
from all_types
where typecode = 'COLLECTION'
and owner != user
/
当然,这个结果会因数据库而异.例如,我的数据库中的很多关系都是由XDB拥有的,并不是每个系统都会安装它.尽管在早期版本中并不总是记录这个答案,但是在9iR2(也许是早期版本)之后,我在每个数据库上都可以看到这个答案的顶部的四个.
“Note that ALL_COLL_TYPES seems to be an even better dictionary view
to find appropriate types”
那是个很好的观点.我们也可以对COLL_TYPE进行过滤,以便了解VARRAY.该视图被引入10g,而ALL_TYPES在9i上可用.和大部分的Oracle一样,版本越晚,它的功能就越多.