這篇文章將為大家詳細講解有關sql之Oracle中匿名TABLE/VARRAY類型的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
我們提供的服務有:成都做網站、成都網站制作、微信公眾號開發、網站優化、網站認證、日照ssl等。為1000多家企事業單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的日照網站制作公司
前言
關于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一樣,版本越晚,它的功能就越多.
關于“sql之Oracle中匿名TABLE/VARRAY類型的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享題目:sql之Oracle中匿名TABLE/VARRAY類型的示例分析
當前路徑:http://www.yijiale78.com/article40/jooheo.html
成都網站建設公司_創新互聯,為您提供軟件開發、營銷型網站建設、微信公眾號、網站收錄、網站制作、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯