sql – Oracle中匿名TABLE/VARRAY类型示例详解
前言
本文主要介绍的是关于sql Oracle匿名TABLE/VARRAY类型的相关内容,在Oracle中,我有时会创建一些这样的结构
SELECT FROM TABLE(STRINGS('a', 'b', 'c')) SELECT FROM TABLE(NUMBERS(1, 2, 3))
显然,我可以为上述声明我自己的类型.我可以在TABLE和VARRAY之间进行选择.例如
CREATE TYPE STRINGS AS TABLE OF VARCHAR2(100); CREATE TYPE NUMBERS AS VARRAY(100) OF NUMBER(10);
在这种特殊情况下,另一个解决方案是写东西
SELECT 'a' FROM DUAL UNION ALL SELECT 'b' FROM DUAL UNION ALL SELECT 'c' FROM DUAL
我可能会有更复杂的例子,我真的需要一个TABLE / VARRAY类型.那么如果我的SQL在一个未知的系统上运行,我不能创建类型,因为我可能没有必要的资助?
所以我的问题是Oracle是否知道任何Oracle实例上可用的“匿名”TABLE / VARRAY类型?类似于Postgres / H2 / HSQLDB的简单ARRAY类型?
更新我主要从Java运行这个SQL,如果这是相关的.不需要向我解释PL / SQL,我只是在寻找匿名SQL数组类型(即“匿名”独立存储类型).如果根本不存在,答案是否定的
最佳答案
提供你不要害怕明确引用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一样,版本越晚,它的功能就越多.
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对狼蚁SEO的支持。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指