sql – Oracle中匿名TABLE/VARRAY類(lèi)型示例詳解
前言
本文主要介紹的是關(guān)于sql Oracle匿名TABLE/VARRAY類(lèi)型的相關(guān)內(nèi)容,在Oracle中,我有時(shí)會(huì)創(chuàng)建一些這樣的結(jié)構(gòu)
SELECT * FROM TABLE(STRINGS('a', 'b', 'c')) SELECT * FROM TABLE(NUMBERS(1, 2, 3))
顯然,我可以為上述聲明我自己的類(lèi)型.我可以在TABLE和VARRAY之間進(jìn)行選擇.例如:
CREATE TYPE STRINGS AS TABLE OF VARCHAR2(100); CREATE TYPE NUMBERS AS VARRAY(100) OF NUMBER(10);
在這種特殊情況下,另一個(gè)解決方案是寫(xiě)東西
SELECT 'a' FROM DUAL UNION ALL SELECT 'b' FROM DUAL UNION ALL SELECT 'c' FROM DUAL
但是我可能會(huì)有更復(fù)雜的例子,我真的需要一個(gè)TABLE / VARRAY類(lèi)型.那么如果我的SQL在一個(gè)未知的系統(tǒng)上運(yùn)行,我不能創(chuàng)建類(lèi)型,因?yàn)槲铱赡軟](méi)有必要的資助?
所以我的問(wèn)題是:Oracle是否知道任何Oracle實(shí)例上可用的“匿名”TABLE / VARRAY類(lèi)型?類(lèi)似于Postgres / H2 / HSQLDB的簡(jiǎn)單ARRAY類(lèi)型?
更新:我主要從Java運(yùn)行這個(gè)SQL,如果這是相關(guān)的.不需要向我解釋PL / SQL,我只是在尋找匿名SQL數(shù)組類(lèi)型(即“匿名”獨(dú)立存儲(chǔ)類(lèi)型).如果根本不存在,答案是否定的
最佳答案
提供你不要害怕明確引用SYS模式有幾個(gè).這里有一些我經(jīng)常使用(odcivarchar2list不太好,因?yàn)樗懒撕芏鄡?nèi)存:對(duì)于我喜歡
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>
但是,如果這些不足以滿(mǎn)足您的需求,請(qǐng)運(yùn)行此查詢(xún)以查找更多內(nèi)容:
select type_name , owner from all_types where typecode = 'COLLECTION' and owner != user /
當(dāng)然,這個(gè)結(jié)果會(huì)因數(shù)據(jù)庫(kù)而異.例如,我的數(shù)據(jù)庫(kù)中的很多關(guān)系都是由XDB擁有的,并不是每個(gè)系統(tǒng)都會(huì)安裝它.盡管在早期版本中并不總是記錄這個(gè)答案,但是在9iR2(也許是早期版本)之后,我在每個(gè)數(shù)據(jù)庫(kù)上都可以看到這個(gè)答案的頂部的四個(gè).
“Note that ALL_COLL_TYPES seems to be an even better dictionary view
to find appropriate types”
那是個(gè)很好的觀(guān)點(diǎn).我們也可以對(duì)COLL_TYPE進(jìn)行過(guò)濾,以便了解VARRAY.該視圖被引入10g,而ALL_TYPES在9i上可用.和大部分的Oracle一樣,版本越晚,它的功能就越多.
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Oracle查詢(xún)sql錯(cuò)誤信息的控制和定位
- Oracle基礎(chǔ):通過(guò)sqlplus執(zhí)行sql語(yǔ)句后的結(jié)果進(jìn)行判斷
- Oracle固定執(zhí)行計(jì)劃之SQL PROFILE概要文件詳解
- Oracle帶輸入輸出參數(shù)存儲(chǔ)過(guò)程(包括sql分頁(yè)功能)
- Python3連接SQLServer、Oracle、MySql的方法
- PHP基于pdo的數(shù)據(jù)庫(kù)操作類(lèi)【可支持mysql、sqlserver及oracle】
- oracle sql語(yǔ)言模糊查詢(xún)--通配符like的使用教程詳解
- 使用SQL語(yǔ)句查詢(xún)MySQL,SQLServer,Oracle所有數(shù)據(jù)庫(kù)名和表名,字段名
- 安裝SQL Server 2016出錯(cuò)提示:需要安裝oracle JRE7 更新 51(64位)或更高版本問(wèn)題的解決方法
- Oracle基礎(chǔ)多條sql執(zhí)行在中間的語(yǔ)句出現(xiàn)錯(cuò)誤時(shí)的控制方式
相關(guān)文章
oracle?指定類(lèi)型和指定位數(shù)創(chuàng)建序列號(hào)的代碼詳解
這篇文章主要介紹了oracle?指定類(lèi)型和指定位數(shù)創(chuàng)建序列號(hào),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05Drop、Delete與Trunc的區(qū)別和應(yīng)用方式
這篇文章主要介紹了Drop、Delete與Trunc的區(qū)別和應(yīng)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08Oracle數(shù)據(jù)庫(kù)如何刪除歸檔日志文件
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)如何刪除歸檔日志文件的相關(guān)資料,當(dāng)Oracle中的歸檔日志空間滿(mǎn)時(shí),則需要把它清空,否則將會(huì)影響數(shù)據(jù)庫(kù)正常運(yùn)行,將無(wú)法正常登入ORACLE,需要的朋友可以參考下2023-11-11Oracle怎么刪除數(shù)據(jù),Oracle數(shù)據(jù)刪除的三種方式
這篇文章主要介紹了Oracle中刪除數(shù)據(jù)的三種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Oracle數(shù)據(jù)庫(kù)并行查詢(xún)出錯(cuò)的解決方法
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)并行查詢(xún)出錯(cuò)的解決方法,需要的朋友可以參考下2014-07-07Oracle Database Server ''TNS Listener''遠(yuǎn)程數(shù)據(jù)投毒漏洞(CVE-2012-167
這篇文章主要介紹了Oracle Database Server 'TNS Listener'遠(yuǎn)程數(shù)據(jù)投毒漏洞(CVE-2012-1675的完美解決方法的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09